Java.io.FileNotFoundException,文件未找到。

12

我只想逐行读取一个文件。这应该很简单,但我始终做不对!

String fileName = "C:/Users/Diogo/Desktop/Krs_Grafo/Graph.txt";
FileReader file = new FileReader(fileName);
BufferedReader inputStream = new BufferedReader(file);
System.out.println(inputStream.readLine());

我不断收到以下错误信息:

Exception in thread "main" java.io.FileNotFoundException: C:\Users\Diogo\Desktop\Krs_Grafo\Graph.txt (O sistema não pode encontrar o arquivo especificado)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:120)
at java.io.FileInputStream.<init>(FileInputStream.java:79)
at java.io.FileReader.<init>(FileReader.java:41)
at krs_grafo.Krs_Grafo.main(Krs_Grafo.java:51)
Java Result: 1

系统找不到文件,但我确定文件肯定在那里!我在Windows 7上使用Netbeans 7.0。

有什么建议吗?

如评论所述,它正在搜索“Graph”而不是“Graph.txt”。这是之前尝试时没有加文件扩展名的结果。所以我进行了编辑以保持一致,但还是无法工作。


5
错误信息似乎表明它试图打开Graph文件,而不是Graph.txt文件。您确定您正在执行正确的代码/类吗? - JB Nizet
系统肯定不在那里。请仔细检查文件名和路径。 - Giann
1
您可以发布给定目录中“cd”和“dir”的输出。另外,我假设您正在以用户Diogo身份运行? - Michael Brewer-Davis
4
啊...实用又方便的“隐藏文件扩展名”! - Luciano
2
一个人应该认为在开发者电脑上应该关闭“隐藏<微软认为会让你困惑的东西>”。这是我在开始使用新的Windows电脑时做的第一件事。除此之外,尽管听起来有点可悲:cmd.exe 是你的好朋友。 - Ingo
显示剩余4条评论
4个回答

10

这里的问题是文件名实际上是 "Graph.txt.txt",因为隐藏了扩展名,所以我没有看到。

感谢用户 "Michael Brewer-Davis" 在评论中要求提供 "在给定目录中输入 cd 和 dir 的输出"。

此外,请注意斜杠 / 和反斜杠 \\ 都可以正常使用。


0

你需要添加try catch块。

public static void main(String...args){
     String fileName = "C:/Users/DY.Liu/Desktop/Krs_Grafo/Graph.txt";
    try{
        FileReader file = new FileReader(fileName);
        BufferedReader inputStream = new BufferedReader(file);
        System.out.println(inputStream.readLine());
    } catch (FileNotFoundException e){
        e.printStackTrace();

    } catch (IOException e){

    }
}

尝试和捕获将处理FileNotFoundException,但它并不能解决他的问题,因为该文件存在且应该打开以供读取。 - Saher Ahwal

0
  1. 正如JB Nizet在评论中指出的,错误提示表明该程序试图打开一个“Graph”文件(没有路径和扩展名),但它与您展示的代码不兼容。你确定这个错误消息来自运行这段代码吗?你尝试过逐步调试它吗?

  2. Windows 7?也许您希望在一些“好看”的目录中设置一个工作目录,比如C:\wk\或类似的目录,这样您就可以排除权限问题并且具有较短的和较美观的路径。

  3. 关于反斜杠的一些建议并不相关。在Java中,正斜杠在Windows中工作得很好。不需要担心这个。


0

我遇到了一个类似的问题,出现了java.io.FileNotFoundException。我从电子邮件中下载了一个项目,解压并存储在桌面上,而不是我的工作区,这导致了FileNotFoundException。

为了获得正确的路径,我复制了导入项目时显示的确切路径。这样对我来说解决了问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接