Cargar y guardar datos en un archivo .txt localizado dentro de un fichero .jar

Iniciado por JmpNull, 3 Septiembre 2009, 13:28 PM

0 Miembros y 1 Visitante están viendo este tema.

JmpNull

Saludos a todos!

Estoy desarrollando una especie de agenda que almacena todos los eventos dentro de un fichero txt. Lo estoy programando sobre NetBeans y todo funciona perfectamente hasta que creo el fichero .jar. Es aqui donde empieza el problema, ya que las rutas son diferentes. Sobre NetBeans es : "src/archivos/lista.txt" pero una vez creado el jar no puedo acceder a esa ruta, ya que es diferente. La carpeta src no existe y ademas no he conseguido entrar a la carpeta archivos dentro del jar.

Buscando por internet he encontrado soluciones para acceder al fichero y leerlo. Esto ahora mismo funciona perfectamente dentro de NetBeans y con el .jar:

Código (java) [Seleccionar]

String ruta = "lista.mem";
URL fileURL = Main.class.getResource(ruta);
BufferedReader br = new BufferedReader(new InputStreamReader(fileURL.openStream()));
String linea = br.readLine();


Ahora quisiera saber como poder guardar la informacion dentro del mismo archivo. De momento tengo una parte,pero no se como meter o escribir en este:

Código (java) [Seleccionar]

String ruta = "lista.mem";
URL fileURL = Main.class.getResource(ruta);
BufferedWriter br = new BufferedWriter(new OutputStreamWriter(fileURL.openStream()));
// ^ en esta linea tengo el problema...


Espero que me podais dar alguna solución, si no, me decantaré por pasar la ruta del archivo por los argumentos del programa.

Gracias por adelantado ;)

En el mundo hay 10 tipos de personas...Los que leen binario y los que no.

JmpNull

No he encontrado solución. Veo que es mas fácil y mejor que el fichero se guarde fuera del archivo jar y en la misma carpeta donde se encuentra este. Mas adelante ya me encargaré de hacer alguna clase que encripte los datos para que no puedan ser descifrados simplemente abriendo el .txt

Saludos!
En el mundo hay 10 tipos de personas...Los que leen binario y los que no.

egyware

Leer un dato en un jar es digamo facil pero escribirlo es imposible ya que el jar es el ejecutable de java y tendrias que en un programa aparte descomprimir todo y luego comprimirlo nuevamente.
COmo tu dices debes tenerlo afuera y conseguir alguna encriptacion pero ahora haslo sin cifrar nada luego lo haces. Para los archivos puedes usar rutas absolutas o relativas.

-Ramc-

Por el foro había un joiner que lo implementaba o supongo que lo implementaba así, porque era código cerrado, puedes hacerlo con el paquete java.util.jar http://java.sun.com/javase/6/docs/api/java/util/jar/package-summary.html

Shhh... be vewy, vewy, quiet!  I'm hunting wabbits...
LA PANDILLA MAS GRANDE DE MI CIUDAD, SE LLAMA POLICIA NACIONAL.

Moon

hola yo estoy con un trabajo de agenda tambien porfavor me pueden dar una ayudita ya cree todo el formulario ahora lo q no se es cargar los textos ordenar y leer.
gracias