【发布时间】:2018-03-10 17:07:45
【问题描述】:
我一直在网上搜索这个看似简单的问题的解决方案,但我总是遇到FileNotFoundException。我在 Eclipse Oxygen 上使用 Java 8,无法从绝对路径或相对路径检索我的 txt 文件。正如其他SO answers 中所建议的那样,我得到了当前目录的路径,我想这是加载 txt 文件的位置:
Path path = FileSystems.getDefault().getPath("").toAbsolutePath();
这显示我的目录为E:\eclipse-java-oxygen-R-win32\HashMap
但是,当我将我的 txt 文件添加到该项目目录(包含 src、bin 目录)时,当我写时仍然找不到该文件:Scanner input = new Scanner(new File("free.txt"))
我什至试过绝对路径:Scanner input = new Scanner(new File("E://eclipse-java-oxygen-R-win32//HashMap//free.txt"));
我在下面附上了我的 free.txt 文件位置的屏幕截图。
【问题讨论】:
-
您的路径分隔符可能是问题所在。您是否尝试过使用 / 或 \\.您还可以使用 pathSeparator 常量或 Path API 来摆脱路径分隔符的必要性
-
我都试过了,但都没有成功
-
操作系统返回的确切消息是什么?
-
@st4rgut 您遇到了编译问题。尝试运行干净,然后再次构建。似乎您有一个未捕获的已检查异常。
-
几乎不言自明。用 try catch 块包围您的呼叫并捕获 filenotfoundexception。你有一个编译时问题,因为 java 希望你指定如何处理文件不存在的情况,也许还有更多
标签: java eclipse filenotfoundexception