如何在可执行jar中使用.txt,.xml和.properties文件?

时间:2013-11-26 20:15:26

标签: java eclipse executable-jar

我有一个java项目,它将读取一个txt文件并处理它。

出于生产目的,我需要生成一个包含此txt文件的可执行jar。

我使用的代码如下:

BufferedReader br = new BufferedReader(new FileReader("src/txt_src/sample.txt"));

我的jar包含txt_src / sample.txt,但无法使用它。相反,如果我把src目录放在src / txt_src / sample.txt结构中,那么jar就可以了。

最好由Eclipse直接生成。

提前致谢!

2 个答案:

答案 0 :(得分:2)

将文件视为资源,并将路径作为包层次结构。

http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html#getResourceAsStream%28java.lang.String%29

然后,您可以将InputStream包装在包含在BufferedReader中的InputStreamReader中。如果您需要定义编码,请将其包装在BufferedInputStream中。

new BufferedReader(new InputStreamReader(new BufferedInputStream(this.getResourceAsStream("myPackage/myFile.txt")), "UTF-8"));

答案 1 :(得分:0)

将您的文件放在项目的资源文件夹中,并将其用于:

InputStream stream = null; 
try { 
  stream = getAssets().open("sample.txt"); 
} 
catch (IOException e) { 
   e.printStackTrace(); 
}