编译时出现IOException错误

时间:2016-02-11 14:11:45

标签: java ioexception

尝试编译此代码时出现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

2 个答案:

答案 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