我有一个项目,它查找一个文本文件并将其放入字符数组中。但是,由于某种原因,它找不到该文件。这是涉及打开/读取文件的所有代码:
public void initialize(){
try{
File file = new File(getClass().getResource("/worlds/world1.txt").toString());
BufferedReader reader = new BufferedReader(
new InputStreamReader(
new FileInputStream(file),
Charset.forName("UTF-8")));
int c;
for(int i = 0; (c = reader.read()) != -1; i ++) {
for(int x = 0; x < 20; x++){
worlds[1][x][i] = (char) c;
c = reader.read();
}
}
}catch(IOException e){
e.printStackTrace();
}
}
运行时,它在控制台中显示它指向正确的文件,但声称那里不存在任何内容。我已经检查过了,该文件完好无损并且存在。这里可能出了什么问题?
最佳答案
您不应该获得这样的资源。您可以使用
BufferedReader reader = new BufferedReader(new InputStreamReader(
getClass().getResourceAsStream("/worlds/world1.txt")
));
此外,如果您在 IDE 中开发应用程序,则在打包应用程序时要小心,否则您会遇到常见的 CLASSPATH
问题
关于Java项目找不到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11692425/