FileNotFoundExeption,路径无效?

时间:2015-04-21 16:49:56

标签: java

你好我有一个问题,这花了我好几个小时, 但我无法解决它。 我的代码:

public static void main(String[] args) {
    FileTester ft = new FileTester();
    boolean flag = false;
    try {
        flag = ft.checkFile("configuration/config.txt");
    } catch (FileNotFoundException e) {

        e.printStackTrace();
    }
    if(!flag){
        JOptionPane.showMessageDialog(null, "please edit configuration/config.txt to continue!");
        System.exit(0);
    }
UserInterface ui = new UserInterface();
ui.setVisible(true);
}




public class FileTester{

    public boolean checkFile(String file) throws FileNotFoundException{
        String zeile = null;
        String path = getDirectory();
        int j = 0;
        for(int i = 0; i < path.length(); i++){
            char c = path.charAt(i);
            if(c == '.'){
                j = i;
                break;
            }
        }
        path = path.substring(0, j-6);
        System.out.println(path);
        file = path + file;
        System.out.println(file);
        int i = 0;

            BufferedReader in = new BufferedReader(new FileReader(file));
            try {
                while ((zeile = in.readLine()) != null) {
                    if(zeile.startsWith("#")){

                    }else{
                    i++;
                    System.out.println(zeile);
                    }
                }
            } catch (IOException e) {
                e.printStackTrace();
                return false;
                            }
            try {
                in.close();
            } catch (IOException e) {
                e.printStackTrace();
                System.exit(0);
            }

        if(i >= 1){
            return true;
        }
        return false;
    }
    String getDirectory(){

        try {
            return String.valueOf(MainClass.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath());
        } catch (URISyntaxException e) {

            e.printStackTrace();
            return "false";
        }
    }
}

与我的smartC.jar文件夹在同一个文件夹中是一个子文件夹“配置”,并在其中输入我的“config.txt”文件,我想阅读。 我编译了我的程序并在Windows7和Linux Ubuntu / Lubuntu上运行它 每次我运行它,它都会打印出来的路径:

Windows: 
C:\...\Desktop\smartC\configuration\config.txt

然后抛出FileNotFoundExeption。

有人有个好主意吗?

1 个答案:

答案 0 :(得分:0)

我自己吹了,错误如下: 我的程序试图打开config.txt,但文件名为“config.txt”。 因此,该程序试图打开“config.txt.txt”,这很愚蠢。