尝试编译此代码时出现IOException错误:
public class TextEditor extends JDialog implements ActionListener {
public TextEditor (File fich,Frame owner) throws IOException{
super(owner,true);
fichier=fich;
String langage="//fortran_regex";
cree_ihm(langage);
};
public String config( String langage ) throws IOException {
BufferedReader reader = new BufferedReader(new FileReader (langage));
String line = null;
StringBuilder stringBuilder = new StringBuilder();
String ls = System.getProperty("line.separator");
try {
while( ( line = reader.readLine() ) != null ) {
stringBuilder.append( line );
stringBuilder.append( ls );
}
return stringBuilder.toString();
} finally {
reader.close();
}
}
private void cree_ihm(String langage) throws IOException{
config(langage);
}
}
///////调用main
时import utils.TextEditor;
public class launch_editeur {
public static void main(String[] args) throws IOException{
TextEditor editeur=new TextEditor(null);
editeur.Affiche(true);
//editeur.setControlOn(false);
}
}
发生了什么事? 我错误地使用它了吗?我认为这可能与我调用的函数有关(或者可能与类有关?) THX
答案 0 :(得分:3)
来自你的评论:
我得到了这个:launch_editeur.java:5:错误:找不到符号public static void main(String [] args)throws IOException {^ symbol:class IOException location:class launch_editeur 1 error
这与IOException错误(在运行时发生)不同,这是一个编译错误,说它无法找到类IOException。您需要在使用它的类中导入IOException:
import java.io.IOException;
答案 1 :(得分:0)
reader.close()
块中的finally
调用需要一个try {}捕获它,因为它也会抛出IOException