0

在下面的代码中,我不断收到错误“(没有这样的文件或目录)”

public void readFile() throws IOException {
        reader = new BufferedReader(new FileReader("map1.txt"));

    while(true) {
        String line = reader.readLine();
        System.out.println(line);
        if(line == null) {
            reader.close();
            break;
        }
    }
}

当我尝试真正阅读图像/任何东西时,我得到了同样的错误。但是在我看到的如何使用文件阅读器的示例中,它们都只是输入文件的名称,没有别的。在这种情况下,地图位于名为 Maps 的 src 文件中的单独文件夹中。我尝试了各种规格的“/Maps/map1.txt”,但似乎没有任何效果。如何读取此文件?

(我也在 Mac 上。我不知道这是否会改变事情。)

更新

似乎这是netBeans的错。它只查看项目文件夹。我想我会在以后开始另一个话题,询问如何解决这个问题。谢谢大家的帮助。

4

3 回答 3

2

/Maps/map1.txt是一个绝对路径,从顶层目录开始。尝试./Maps/map1.txt,只要您从 Maps 上方的目录运行 java 应用程序。

于 2012-07-02T23:13:53.093 回答
1

我提取了一些可能有用的程序片段:

FileInputStream configFile = new FileInputStream("javalogging.properties");

在上述情况下,文件位于src文件夹的同一级别(这意味着,在源文件夹之外)

    FileInputStream configFile = (FileInputStream)
              MyClass.class.getResourceAsStream("/javalogging.properties");

在上述情况下,请确保您将替换MyClass为您的类名,并将文件放在源文件夹中(如果您计划以属性位于 jar 文件中的方式部署应用程序,这很有用)

使用 bufferedReader,我使用了整个路径,如下所示:

File file = new File(filePath+fileName);
BufferedReader r = new BufferedReader (new FileReader(file.getAbsoluteFile()));
于 2012-07-02T23:42:44.937 回答
0

在这种情况下,地图位于名为 Maps 的 src 文件中的单独文件夹中。

我假设您有一个名为的文件夹src,其中包含您的 java 文件;在同一个文件夹中有一个名为的文件夹Maps,其中包含map1.txt.

现在,

reader = new BufferedReader(new FileReader("map1.txt"));

打算尝试打开当前目录下的文件map1.txt 。这是哪个目录取决于您使用的 IDE;但你应该能够改变它。

如果您将其更改为包含该文件的文件夹,它应该可以工作。

于 2012-07-02T23:22:39.097 回答