0

我读了一个文件big.txt来填充我的 HashMap。我已将文件与class文件bin夹中的文件放在一起。

但是,每当我想使用它时,它都会给出错误提示java.io.FileNotFoundException ( No such file or directory )

这是怎么回事?

public ClassName() throws IOException{
        URL url = ClassName.class.getResource("big.txt");
        File file = new File(url.getPath());
        BufferedReader inp= new BufferedReader(new FileReader(file));
        // some code
        }
        inp.close();        
    }

为什么会这样?请帮帮我!

4

3 回答 3

3

您可以访问类路径上的任何资源

public ClassName() throws IOException{
        // the path to your file is relative to the package of ClassName
        InputStream input = ClassName.class.getResourceAsStream("big.txt"); 

        BufferedReader inp = new BufferedReader(new InputStreamReader(input));

        // some code

        inp.close();        
}

或者

URL url = ClassName.class.getResource("big.txt");
// check for null first
InputStream input = url.openStream();
BufferedReader inp = new BufferedReader(new InputStreamReader(input));
于 2013-05-03T18:58:25.493 回答
1

如果您使用的是 Eclipse,我相信它实际上是在项目文件夹中查找,而不是在文件的 bin 文件夹中,具体取决于设置。您应该尝试将 big.txt 移到那里,但如果您想更改代码,其他答案也很有用。

于 2013-05-03T19:05:20.830 回答
0
public ClassName() throws IOException{
        Scanner in = new Scanner(getClass().getResourceAsStream("big.txt"));
        //your stuff       
}
于 2013-05-03T18:56:04.870 回答