创建包含外部文件的Runnable Jar

我想在java中构建一个可运行的jar。 我需要在jar中包含一些文件,这样当我执行jar时,文件会自动从java类中读取。 因此,我在项目中创建了一个文件夹,并从项目中引用了这些文件。 我在一些教程后创建了jar文件,但我无法将这些外部文件包含在我的jar文件中。 请告诉我有关使用外部文件创建可运行jar的信息。

我的文件结构是

Test | | -------src | | | default package | | | | | test1.java | -------FileFOlder | | | | | abc.txt 

我正在访问test1.java类中的abc.txt 。 我的代码是,

 public class test1 { public static void main(String[] args) throws IOException { char [] read = new char[20]; String path = new File(".").getCanonicalPath(); path = path+"\\Newfolder\\abc.txt"; System.out.println(path); File nF = new File(path); FileReader fR = new FileReader(nF); fR.read(read); for(char c : read){ System.out.print(c); } fR.close(); System.out.println(" Hi..This is test program "); } } 

当我使用eclipse导出选项创建可执行jar时,我无法在jar中看到FileFolder目录。 请给我一些有关此事的信息。

这是你应该做的事情:

将该文件放回jar文件中。 使用class.getResourceAsStream()来读取它而不是FileFileReader 。 以下是如何执行此操作的说明: 如何在Java中从类路径中真正读取文本文件

问题解决了!

这是如何:

1)右键单击项目文件夹并创建一个新文件夹。

2)将您想要打包到jar中的所有文件移动到该文件夹​​中。

3)单击project -> properties -> Build Path -> Source -> Add Folder然后选择刚刚创建的文件夹。

4)创建你的JAR!

由于您已经使用abc.txt创建了文件夹,因此可以跳过步骤1和2

编辑:您可以确保您的JAR包含这些文件的一种方法是使用7zip。