Que tengo que poner en esta clase ¿?

Iniciado por Baal_30, 17 Marzo 2016, 12:23 PM

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

Baal_30

Buenoo estoy pesado hoy xD Pero no paro de buscar soluciones y cada vez tengo más dudas  :-\

He encontrado esta solución para leer archivos desde un jar (http://stackoverflow.com/questions/4755806/file-not-found-exception-in-jar) que es utilizando la clase ClassLoader.

Pero como pone en la línea de la respuesta en la página web que he pasado, el método se llamada desde una clase que ha creado, pero no tengo ni idea de que debo poner dentro de esa clase o que debo hacer para que funcione. Por ahora lo tengo así :

Código (java) [Seleccionar]

public static void main(String[] args) {

//File origen = new File("bin\\Archivo.txt");
File destino = new File(".\\archivoCopiado.txt");


try {
InputStream in = Archivo.class.getResourceAsStream("Archivo.txt");
OutputStream out = new FileOutputStream(destino);


        byte[] buf = new byte[1024];
        int len;
        while ((len = in.read(buf)) > 0) {
            out.write(buf, 0, len);
        }
        in.close();
        out.close();
       
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}


Y la clase "Archivo" completamente vacía.

«La suerte es el cuidado de los detalles». -Winston Churchill

Baal_30

Vale, he cambiado lo de "Archivo.class" por "main.class" y al ejecutarlo en eclipse me funciona bien (teniendo el archivo en la carpeta bin del proyecto) pero si exporto el jar me da error, ¿alguna idea?
«La suerte es el cuidado de los detalles». -Winston Churchill

jsDotx3

Cita de: Baal_30 en 17 Marzo 2016, 21:29 PM
Vale, he cambiado lo de "Archivo.class" por "main.class" y al ejecutarlo en eclipse me funciona bien (teniendo el archivo en la carpeta bin del proyecto) pero si exporto el jar me da error, ¿alguna idea?
¿Qué error te da exactamente?. El .class debe tener el mismo nombre de la clase que estás ocupando.
«La envidia no mata, pero mortifica»

ReaverZ3r0

prueba asi :

this.getClass().getResource("/ruta.jpg");

+ 1 Oculto(s)


Baal_30

Si, si, en vez de poner el nombre de otra clase, puse "this".

Gracias
«La suerte es el cuidado de los detalles». -Winston Churchill