非法开始表达为错误

时间:2013-09-17 23:15:33

标签: java runtime-error

我试图再次运行程序,现在我收到了这个错误。

这是我的代码:

public static void writeBirdtype() {

private String readFileAsString(String filePath) throws IOException {
  StringBuffer fileData = new StringBuffer();
  BufferedReader reader = new BufferedReader();
   new FileReader(filePath);
   char[] buf = new char[1024];
   int numRead=0;

    while((numRead=reader.read(buf)) != -1){
        String readData = String.valueOf(buf, 0, numRead);
        fileData.append(readData);
    }
    reader.close();
    return fileData.toString();
    }

错误:

Oblig2.java:72: error: illegal start of expression
private String readFileAsString(String filePath) throws IOException {
^
Oblig2.java:72: error: ';' expected
private String readFileAsString(String filePath) throws IOException {
                               ^
Oblig2.java:72: error: ';' expected
private String readFileAsString(String filePath) throws IOException {
                                               ^
Oblig2.java:72: error: not a statement
private String readFileAsString(String filePath) throws IOException {
                                                        ^
Oblig2.java:72: error: ';' expected
private String readFileAsString(String filePath) throws IOException {
                                                                   ^
5 errors

我该如何解决这个问题?

非常感谢您的帮助

1 个答案:

答案 0 :(得分:1)

您无法在Java中嵌套方法。将readFileAsString方法的代码放在writeBirdtype方法的代码之外。

此外,这两行没有意义,会产生编译错误:

BufferedReader reader = new BufferedReader();
new FileReader(filePath);

第一个是编译器错误,因为BufferedReader没有零参数构造函数。然后,您构建一个新的FileReader并忽略它。

看起来你的意思是:

BufferedReader reader = new BufferedReader(new FileReader(filePath));