【问题标题】:Java FileNotFound Exception even when using absolute path即使使用绝对路径,Java FileNotFound 也会出现异常
【发布时间】:2013-11-02 10:01:59
【问题描述】:

关于这个问题有很多话题,但似乎没有一个能找到我正在寻找的答案。我试图打开一个文件进行读/写,但我得到文件未找到异常。我指定了绝对路径,但无济于事。当我检查“exists”和“canread”时,两者都返回false。我尝试了多个文件,结果总是错误的。有人提到这可能是权限问题,但我不知道如何解决。再一次,如果“存在”返回 false,我怀疑它只是权限问题。任何帮助,将不胜感激。

    File myfile = new File("C:\\Users\\Eric\\workspace\\ReadJPG\\test.txt"); 
    //File myfile = new File("C:/Users/Eric/workspace/ReadJPG/test.txt"); 

    boolean h = myfile.canRead();
    boolean p = myfile.exists();


    try {
    FileInputStream fis = new FileInputStream(myfile);
} catch (FileNotFoundException e) {
    e.printStackTrace();
}

【问题讨论】:

  • 如果你复制路径并将其粘贴到 Windows 资源管理器中" 你会得到什么?
  • 作为一个健全性检查,你试过没有 C: 在前面吗?
  • 请尝试检查每个路径组件,从 `C:\` 开始。

标签: java file-io


【解决方案1】:

检查路径。您使用的格式有效。我试图复制,但只能通过错误写入文件名。我的代码:

import java.io.File;

public class Main {

public static void main(String[] args) {
     File myfile = new File("C:\\Users\\iajrz\\Desktop\\usepass.txt"); 
     System.out.println(myfile.exists());
}   
}

打印为真。即使您有权限问题,如果文件存在,“exists()”也应该返回 true。权限不会让你读或写;他们不会禁止您知道该文件存在(即列表)。我试过了。

【讨论】:

    猜你喜欢
    • 2021-08-16
    • 1970-01-01
    • 1970-01-01
    • 2011-12-09
    • 1970-01-01
    • 2016-12-27
    • 1970-01-01
    • 2016-01-07
    • 1970-01-01
    相关资源
    最近更新 更多