Java项目找不到文件

标签 java file io

我有一个项目,它查找一个文本文件并将其放入字符数组中。但是,由于某种原因,它找不到该文件。这是涉及打开/读取文件的所有代码:

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/

相关文章:

java - JSF 验证消息

java - Java套接字文件传输-文件不完整

json - Aeson如何使用Data.Text.Lazy.IO解析JSON文件

java - 给定路径中的文件无法识别

haskell - 如何正确地将 IO 添加到 attoparsec Parser?

Python - 文件 I/O 代码中的列表理解

java - Hibernate 条件@Valid

java - 通过 Socket 发送图像

java - 组合两个 JSoup 元素

php - laravel 4 docx 文件验证不起作用