2015-08-03 159 views
1

我有一个java项目应该读取外部文件夹中的文件。我将文件路径设置为类中的“../FolderName”。但是如果我从这个项目生成一个jar文件,它不能读取文件。在这种情况下定义文件夹路径的正确方法是什么?从jar文件读取文件,使用netbeans生成的jar

+1

您可以提供的项目或文件系统里面的一些代码,您迄今写的,瓶子的名字,也许一个位置。您是否有其他罐/拉链的问题,或者只有那些内置netbeans的问题? – Javier

+0

[加载图标图像例外](http://stackoverflow.com/q/9864267/1393766)< - 规则适用于所有资源,不仅图像 – Pshemo

回答

0

将绝对路径传递给代码(jar)作为程序参数的正确方法。

java -jar myjar.jar abs_path 

然后,您可以访问的绝对路径在你的类(在manifest.mf文件中的JAR的提及)的main()方法如下:

String filePath = args[0]; 
+0

适合我感谢:-) –

2

您应该使用java.lang.Class.getResourceAsStream(String)

它从您的JAR中读取文件。

例子:

InputStream in = getClass().getResourceAsStream("/classpath/to/my/file"); 
BufferedReader input = new BufferedReader(new InputStreamReader(in)); 

一个很好的参考:How to read a file from a jar file?

0
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("/classpath/toyourfile");