加载文件(外部)

时间:2013-11-22 22:19:42

标签: java file loading getresource

加载文件时遇到一些问题! (不是图像真的像.txt和东西这样的文件) 它在Netbeans中加载

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

问题是编译的jar获取异常并且找不到该文件。我需要它作为一个文件,而不是一个Stream或其他东西,这是问题,我已经尝试了所有我想到的东西来加载它。 我想在外部加载它(不是从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

1 个答案:

答案 0 :(得分:0)

使用

构建文件时
new File("abc.txt")

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

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