为什么我在Java中收到无法访问的语句错误?

dww*_*n66 0 java file-io compiler-errors

当我尝试编译这个程序时,我在第21行得到一个"无法访问的语句"错误:

import java.util.*;
import java.io.*;
import java.nio.file.*;
import java.lang.StringBuilder;

class FilePrep {
    public static void main(String args[]) {
    }
    public String getStringFromBuffer() {
        try {
            Path file = Paths.get("testfile2.txt");
            FileInputStream fstream = new FileInputStream("testfile2.txt");
            BufferedReader br = new BufferedReader(new InputStreamReader(fstream));  
                String inputLine = null;                    
            StringBuffer theText = new StringBuffer();  

            while((inputLine=br.readLine())!=null) {
                theText.append(inputLine+" ");
            }
            return theText.toString();
            System.out.println(theText); // <-- line 21
        }
        catch (Exception e)
        {
            System.err.println("Error: " + e.getMessage());
            return null;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

完整的编译器输出是:

Main.java:21: error: unreachable statement
            System.out.println(theText);
            ^
Main.java:28: error: missing return statement
    }
    ^
2 errors
Run Code Online (Sandbox Code Playgroud)

认为return声明是在正确的地方......他们似乎至少对我来说,程序看起来比我克隆它从一个如此简单,说我有一个很艰难的时间搞清楚为什么这声明无法访问.

复制代码时我做错了什么,我该如何纠正?

Dra*_*ikk 8

你是对的,假设你的问题在这里:

return theText.toString();
System.out.println(theText);
Run Code Online (Sandbox Code Playgroud)

return函数将终止您的方法,这意味着不会执行任何代码行.如果您希望打印件通过,则应将其移至return语句上方.