【问题标题】:java.io.FileNotFoundException, file not being foundjava.io.FileNotFoundException,找不到文件
【发布时间】:2011-09-26 18:37: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”。这是来自我之前尝试不使用扩展名的执行。所以,我编辑它是连贯的。还是不行。

【问题讨论】:

  • 使用 Google 翻译节省您的时间:O sistema não pode encontrar o arquivo especificado -> 系统找不到指定的文件 葡萄牙语
  • 错误消息似乎表明它试图打开 Graph 文件,而不是 Graph.txt 文件。你确定你正在执行正确的代码/类吗?
  • 您可以在给定目录中发布cddir 的输出。另外,我假设您以 Diogo 用户身份运行?
  • 啊……好用又好用的“隐藏文件扩展名”!
  • 人们应该认为应该在开发人员 PC 上关闭“隐藏 ”。每当我开始使用新的 Windows PC 时,这是我做的第一件事。除此之外,听起来很可悲:cmd.exe 是你的朋友。

标签: java file-io filenotfoundexception


【解决方案1】:

这里的问题是文件名实际上是“Graph.txt.txt”,我看不到,因为扩展名被隐藏了

感谢用户“Michael Brewer-Davis”在 cmets 中询问“给定目录中 cd 和 dir 的输出”。

还要指出 / 和 \\ 都可以正常工作。

【讨论】:

    【解决方案2】:
    1. 正如 JB Nizet 在评论中指出的那样,错误消息暗示程序试图打开一个“图形”文件(不是路径也没有扩展名),该文件与您向我们展示的代码不兼容。您确定该错误消息来自运行该代码吗?滴滴你尝试调试它(一步一步)?

    2. Windows 7?也许您更喜欢在一些“不错”的目录中设置一个工作目录,例如 C:\wk\ 或类似的东西,这样您就可以排除权限问题并拥有更好更短的路径。

    3. 关于反斜杠的一些答案的建议是不相关的。正斜杠在 Windows 中的 Java 中运行良好。不用担心。

    【讨论】:

      【解决方案3】:

      你需要添加 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){
      
          }
      }
      

      【讨论】:

      • try and catch 将处理 FileNotFoundException 但它不能解决他的问题,因为文件存在并且应该打开以供读取
      【解决方案4】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-11-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多