【发布时间】:2013-04-26 04:58:24
【问题描述】:
我正在尝试将包含 2-3 个整数(例如:1 2 3)的一个文本文件(“1.txt”)的内容复制到另一个文本文件(“2.txt”),但我得到了编译时出现以下错误
import java.io.*;
class FileDemo {
public static void main(String args[]) {
try {
FileReader fr=new FileReader("1.txt");
FileWriter fw=new FileWriter("2.txt");
int c=fr.read();
while(c!=-1) {
fw.write(c);
}
} catch(IOException e) {
System.out.println(e);
} finally() {
fr.close();
fw.close();
}
}
}
命令提示符:-
C:\Documents and Settings\Salman\Desktop>javac FileDemo.java
FileDemo.java:20: error: '{' expected
finally()
^
FileDemo.java:20: error: illegal start of expression
finally()
^
FileDemo.java:20: error: ';' expected
finally()
^
FileDemo.java:27: error: reached end of file while parsing
}
^
4 errors
但在检查代码时,我发现 finally() 块已正确关闭。
【问题讨论】:
-
把 finally() 中的 () 去掉。最后应该是 { }
-
编译器消息是否不够清晰?上面写着“FileDemo.java:20: error: '{' expected”,并用箭头指向违规字符!当错误发生时,仔细阅读输出并思考其含义通常是值得的。
标签: java filereader filewriter