Creación de jar ejecutable con archivos externos incluidos

Quiero construir un jar ejecutable en java. Necesito incluir algunos de los archivos en el jar para que cuando ejecuto jar los archivos se lean automáticamente de la clase java. Por lo tanto, creé una carpeta en el proyecto y referí estos archivos desde el proyecto. Creé el archivo jar siguiendo algunos tutoriales pero no pude incluir estos archivos externos en mi archivo jar. Permítanme crear un jar ejecutable con archivos externos.

Mi estructura de archivo es

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

Estoy accediendo a abc.txt en la clase test1.java . Mi código es,

 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 "); } } 

Cuando creo el archivo jar ejecutable usando la opción de exportación de eclipse, no puedo ver el directorio FileFolder dentro del contenedor. Por favor dame algo de información con respecto a esto.

Esto es lo que debe hacer en su lugar:

Vuelva a colocar ese archivo en su archivo jar. Utilice class.getResourceAsStream() para leerlo en lugar de File y FileReader . Aquí hay una explicación de cómo hacerlo: Cómo leer realmente el archivo de texto de classpath en Java

¡Problema resuelto!

aquí es cómo:

1) haz clic derecho en la carpeta de tu proyecto y crea una nueva carpeta.

2) mueva todos los archivos que desee empaquetar en el contenedor dentro de esa carpeta.

3) haga clic en project -> properties -> Build Path -> Source -> Add Folder y seleccione la carpeta que acaba de crear.

4) crea tu JAR!

Como ya ha creado su carpeta con abc.txt insideit, puede omitir los pasos 1 y 2

EDITAR: una forma de asegurarse de que su JAR contiene estos archivos es usar 7zip.