java.io.FileNotFoundException,找不到文件

Posted

技术标签:

【中文标题】java.io.FileNotFoundException,找不到文件【英文标题】:java.io.FileNotFoundException, file not being found 【发布时间】: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 是你的朋友。 【参考方案1】:

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

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

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

【讨论】:

【参考方案2】:

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

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

    关于反斜杠的一些答案的建议是不相关的。正斜杠在 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。

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

【讨论】:

以上是关于java.io.FileNotFoundException,找不到文件的主要内容,如果未能解决你的问题,请参考以下文章

在 Android 中解码 jpeg