Java - 从项目文件夹中获取文件作为输入
Java - Get file as an input from Project folder
我已经创建了一个简单的自动脚本来解析我的输入文件。我的输入文件是一个命令行参数。如果我将这个输入文件保存在 src 文件夹中,我的程序可以正常工作。
但是,当我 运行 我的程序将其作为可执行 jar 文件时,我得到了文件未找到异常。由于可执行 jar 文件可以由操作团队使用以下命令轻松执行
java -jar parseData.jar Test.txt
异常详情:
Exception in thread "main" java.io.FileNotFoundException: Test.txt (The system cannot find the file specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.util.Scanner.<init>(Unknown Source)
这样我的运营团队就可以通过简单地给出以下命令来使用它
我已经在我的 main 中尝试了以下代码,但仍然没有成功。
ClassLoader classLoader = Thread.currentThread().getClass().getClassLoader();
URL url = classLoader.getResource(args[0]);
File inputFile = new File(classLoader.getResource(args[0]).getFile());
现在我得到了这个异常的详细信息。
Exception in thread "main" java.lang.NullPointerException
at parseData.main(parseData.java:31)
如果有人这样做过请帮帮我。
谢谢
您不应尝试阅读 classLoader.getResource
。这仅在您尝试访问的文件在您的 jar 中时有效。
相反,只需使用 new File(arg[0])
。
我已经创建了一个简单的自动脚本来解析我的输入文件。我的输入文件是一个命令行参数。如果我将这个输入文件保存在 src 文件夹中,我的程序可以正常工作。
但是,当我 运行 我的程序将其作为可执行 jar 文件时,我得到了文件未找到异常。由于可执行 jar 文件可以由操作团队使用以下命令轻松执行
java -jar parseData.jar Test.txt
异常详情:
Exception in thread "main" java.io.FileNotFoundException: Test.txt (The system cannot find the file specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.util.Scanner.<init>(Unknown Source)
这样我的运营团队就可以通过简单地给出以下命令来使用它
我已经在我的 main 中尝试了以下代码,但仍然没有成功。
ClassLoader classLoader = Thread.currentThread().getClass().getClassLoader();
URL url = classLoader.getResource(args[0]);
File inputFile = new File(classLoader.getResource(args[0]).getFile());
现在我得到了这个异常的详细信息。
Exception in thread "main" java.lang.NullPointerException
at parseData.main(parseData.java:31)
如果有人这样做过请帮帮我。
谢谢
您不应尝试阅读 classLoader.getResource
。这仅在您尝试访问的文件在您的 jar 中时有效。
相反,只需使用 new File(arg[0])
。