我读了一个文件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();
}
为什么会这样? Plaese帮帮我吧!
答案 0 :(得分: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));
答案 1 :(得分:1)
如果您正在使用eclipse,我相信它实际上是在项目文件夹中查找,但不在文件的bin文件夹中,具体取决于设置。您应该尝试在那里移动big.txt,但如果您想更改代码,其他答案也是有用的。
答案 2 :(得分:0)
public ClassName() throws IOException{
Scanner in = new Scanner(getClass().getResourceAsStream("big.txt"));
//your stuff
}