【问题标题】:Error in reading from file (Java)从文件读取错误(Java)
【发布时间】:2012-07-07 09:41:03
【问题描述】:

我在这里发布了一个类似的问题:Read from a file containing integers - java 但无法得到一个体面的答复。

现在我已经编写了这个新代码,它只读取一个文件并输出结果。

每当我尝试从文件中读取时,都会收到 FileNotFoundException。代码如下:

import java.io.*;

public class second {

/**
 * @param args
 * @throws IOException 
 */
public static void main(String[] args) throws IOException {

    File f = new File("C:\\Users\\Haroon\\workspace\\ppp\\temperature.txt");
    FileReader file = new FileReader(f);
    BufferedReader buf = new BufferedReader(file);

    String s = null;
    while((s = buf.readLine()) != null){
        System.out.println(s);
    }
}

}

这很奇怪,因为该文件位于项目的文件夹中。 任何帮助将不胜感激。

【问题讨论】:

  • 如果你尝试:“C:/Users/Haroon/workspace/ppp/temperature.txt”你能读懂吗?
  • “这很奇怪,因为文件在项目的文件夹中” - 当您指定完全限定的文件名时,项目的文件夹是无关紧要的。
  • 与正斜杠相同的错误。 @JonSkeet 对此表示感谢。我知道,因为起初我只写了 temperature.txt 而不是完整路径。
  • 仔细检查您的文件名。我的猜测是某处有错字。

标签: java file-io filenotfoundexception


【解决方案1】:

应该可以。转到文件的位置,复制路径,将其粘贴到您的代码中,然后转义斜杠。你错过了什么。

还要检查文件的名称/扩展名是否正确,您可以使用“temperature.txt.txt”之类的内容。

【讨论】:

  • 照你说的做了。同样的问题:(
  • 好的,下一个测试:将代码中的路径复制粘贴到文件资源管理器中,删除多余的斜杠,然后回车...
  • 我建议先尝试简单的路径。例如:“c:\\1.txt”
  • 尝试了您的两个建议。同样的问题。会不会是PATH环境变量的问题
  • 您是否测试将路径复制到文件资源管理器包括文件名?你用 temperature.txt.txt 测试过你的程序吗?
【解决方案2】:

我不知道您为什么无法读取该文件。它在我的系统上运行良好。因为你正在让你在 Eclipse 中进行项目。我将在此处发布解决方法。

System.out.println(System.getProperty("user.dir"));

使用此命令可在执行时查找当前用户目录。现在直接将文件放在该用户目录中。现在您可以直接通过文件名直接读取文件。 例如:

File f = new File("temperature.txt");

正如“lxxx”所提到的,通过在 Windows 中启用显示文件扩展名选项来检查文件名和扩展名。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多