猿问

java中.txt文件的路径

我使用 NetBeans IDE,我在 src/myapp 文件夹中保存了一个 .txt 文件。如果我从 IDE 运行,这会识别我的

File file=new File("src/myapp/mytext.txt");

但是,如果我构建 jar 文件并双击它或从命令行启动它,我会收到此错误:

java.io.FileNotFoundException: src\myapp\mytext.txt

我可以插入绝对路径,但是如何根据我的项目在计算机中的位置独立运行我的 jar?


POPMUISE
浏览 741回答 3
3回答

Qyouu

您可以通过以下方式独立于其位置获取文件路径:ClassLoader classLoader = getClass().getClassLoader(); String path = classLoader.getResource("mytext.txt").toString();

慕码人2483693

Java 期望找到与您的工作目录相关的文件。因此,通过对文件进行硬编码,src/myapp/mytext.txt您希望应用程序的用户在相同的文件夹结构下拥有该文件。如果您希望该文件与 jar 文件处于同一级别,则只需使用./mytext.txt. 不要把你的mytext.txt下src放在你的项目中。这适用于您要在 jar 文件中编译和/或捆绑的源。在 NetBeans 中,将它移到/src文件夹外,这样当您从 IDE 运行程序或从外部运行 Jar 文件时,您会发现该文件处于同一级别。如果您希望用户能够自己指定文件的位置,您还可以读取命令行参数(您的 参数public static void main(String[] args))。

饮歌长啸

没有这样的问题File file=new File("./src/myapp/mytext.txt");
随时随地看视频慕课网APP

相关分类

Java
我要回答