Foro de elhacker.net

Programación => Java => Mensaje iniciado por: Baal_30 en 17 Marzo 2016, 12:23 pm



Título: Que tengo que poner en esta clase ¿?
Publicado por: Baal_30 en 17 Marzo 2016, 12:23 pm
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
  1. public static void main(String[] args) {
  2.  
  3. //File origen = new File("bin\\Archivo.txt");
  4. File destino = new File(".\\archivoCopiado.txt");
  5.  
  6.  
  7. try {
  8. InputStream in = Archivo.class.getResourceAsStream("Archivo.txt");
  9. OutputStream out = new FileOutputStream(destino);
  10.  
  11.  
  12.        byte[] buf = new byte[1024];
  13.        int len;
  14.        while ((len = in.read(buf)) > 0) {
  15.            out.write(buf, 0, len);
  16.        }
  17.        in.close();
  18.        out.close();
  19.  
  20. } catch (FileNotFoundException e) {
  21. e.printStackTrace();
  22. } catch (IOException e) {
  23. e.printStackTrace();
  24. }
  25. }

Y la clase "Archivo" completamente vacía.



Título: Re: Que tengo que poner en esta clase ¿?
Publicado por: 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?


Título: Re: Que tengo que poner en esta clase ¿?
Publicado por: jsDotx3 en 17 Marzo 2016, 21:54 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.


Título: Re: Que tengo que poner en esta clase ¿?
Publicado por: ReaverZ3r0 en 22 Abril 2016, 09:41 am
prueba asi :

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


Título: Re: Que tengo que poner en esta clase ¿?
Publicado por: + 1 Oculto(s) en 23 Abril 2016, 03:07 am
ya lo resolviste?


Título: Re: Que tengo que poner en esta clase ¿?
Publicado por: Baal_30 en 1 Mayo 2016, 19:42 pm
Si, si, en vez de poner el nombre de otra clase, puse "this".

Gracias