0

加载文件时遇到一点问题!(不是图像,只是像 .txt 之类的文件)它在 Netbeans 中加载良好

    File myfile = new File("a/b/myfile.abc");

问题是编译后的 jar 出现异常并且找不到文件。我需要它作为文件,而不是流或其他东西,这就是问题所在,我已经尝试了所有想到的加载它。我想从外部加载它(而不是从 jar 内部),问题是似乎无法使用getRessource(AsStream).

编辑:好的,所以我让它在编译和未编译时打印绝对路径。非编译路径:

C:\Users\USERNAME\Documents\NetBeansProjects\ProjectName\a\b\myfile.abc <-- Correct Path

编译路径:

C:\Users\USERNAME\a\b\myfile.abc <-- Not Correct Path

谁能告诉我如何解决这个问题?EDIT²:如果我使用 cmd(cd 等)导航到正确的文件夹并在这样做之后启动 jar,则该文件夹将从正确的目录加载。有人能告诉我我需要改变什么吗?EDIT³:当不以 cmd 开始时,它似乎在 Windows/system32 中搜索文件夹:O

4

1 回答 1

0

当你用

new File("abc.txt")

abc.txt文件应该在当前目录中。当前目录是启动 java 命令以执行应用程序的目录。所以,如果你在c:\foo\bar并执行java -cp d:\java\app\MyApplication.jar MyApplication,它会寻找文件c:\foo\bar

应用程序 jar 的位置无关紧要,并且对查找文件的位置没有任何影响。当前目录很重要。

于 2013-11-23T13:46:02.547 回答