代码之家  ›  专栏  ›  技术社区  ›  Alec Benson

Java不会打开正确的文件,即使使用绝对路径,也会不断返回未找到的文件异常

  •  3
  • Alec Benson  · 技术社区  · 7 年前

    在打印文件时,我无法使用eclipse IDE在java中打开文件。getAbsolutePath()它与文件所在的位置相同。 https://gyazo.com/687f73add6c7122c3095db546abc0e28 这是目录,我在alice工作。java正在尝试访问alice2。txt。我还多次刷新了页面,并尝试将文件链接到实际指定的绝对路径,但它仍然无法打开文件。

    当我打印测试仪时。getAbsolutePath(),然后将绝对路径输入到我的文件资源管理器中,它会立即打开相应的文本文档,因此我的理解是它正在查找正确的位置,但由于某种原因无法打开该文件。 下面是我用来打开文件的代码:

        public static void main(String[] args) {
        File tester = new File("alice2.txt");
    
        //System.out.println(tester.getAbsolutePath());
    
        Scanner in = new Scanner(tester);
    
        in.close();
    }
    

    我对使用eclipse还不熟悉,以前只使用过NetBeans,所以如果我做了一些非常愚蠢的事情而没有意识到,我很抱歉。

    3 回复  |  直到 7 年前
        1
  •  1
  •   venkatReddi    7 年前

    文件的路径是项目的绝对路径。在你的情况下 HomeWOrk_one 所以如果你想访问alice2。txt尝试 "./alice2.txt" 或者给alice。txt文件 ./src/com/abenson/hw0/three/alice.txt

     public static void main(String[] args) throws FileNotFoundException {
    File tester = new File("./alice2.txt");  // or new File("./src/com/abenson/hw0/three/alice.txt");
    
    System.out.println(tester.getAbsolutePath());
    
    Scanner in = new Scanner(tester);
    System.out.println(in.hasNext());
    in.close();
    

    }

        2
  •  0
  •   Albanninou    7 年前

    whith公司 new File("file.txt"); 他试着在项目现场找到了文件 see here

    他试着找到了蓝色的文件而不是红色的

        3
  •  0
  •   olekmiel    7 年前

    您采取了正确的方法,即打印绝对路径。在我看来,唯一合理的解释是,你没有对它进行足够的检查。您是否可以尝试重新运行它并比较路径:打印的路径和您看到的路径,右键单击并检查文件属性?

    通常,程序的输出将在大多数设置上: <your_workspace_path>\<your_project_path>\alice2.txt 尽管你想要 <your_workspace_path>\<your_project_path>\src\fr\test\alice2.txt