elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: ¿Usas Skype? Protégete de los Skype Resolver


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Abrir (Ejecutar) un archivo (fichero) contenido en un Jar
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Abrir (Ejecutar) un archivo (fichero) contenido en un Jar  (Leído 7,403 veces)
1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Abrir (Ejecutar) un archivo (fichero) contenido en un Jar
« en: 6 Noviembre 2009, 05:07 »

Hola, estoy haciendo una aplicacion la cual ocupa un archivo de excel, tengo mi archivo a nivel del jar y dentro del jar tambien tengo ese mismo archivo, cuando el arhivo de excel no es copiado junto con el jar, toma el contenido del excel contenido en el jar, pero quiero que al oprimir un boton me abra el xls para ver si el usuario está deacuerdo en tomar esos valores, alguien me puede dar una idea de como hacerlo o que tengo que investigar??


Saludos


En línea

abc
Leyer


Desconectado Desconectado

Mensajes: 782


leyer@elhacker.net


Ver Perfil WWW
Re: Abrir (Ejecutar) un archivo (fichero) contenido en un Jar
« Respuesta #1 en: 6 Noviembre 2009, 15:55 »

sera asi

Código
  1. try {
  2. Desktop.getDesktop().open(new File(getClass().getResource("/bd/Crystal.xml").getFile()));
  3. } catch (IOException e2) {
  4. // TODO Auto-generated catch block
  5. e2.printStackTrace();
  6. }
  7.  

Saludos.


« Última modificación: 7 Noviembre 2009, 04:08 por L-EYER » En línea

1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: Abrir (Ejecutar) un archivo (fichero) contenido en un Jar
« Respuesta #2 en: 7 Noviembre 2009, 10:55 »

Hola muchas gracias por responder, pero este metodo no me funciona, parece ser que hay un problema en la conversion, he tratado de solucionarlo pero aun no tengo logros. Al querer abrir el archivo me aparece lo siguiente

Código:
java.lang.IllegalArgumentException: The file: java.io.BufferedInputStream@5224ee doesn't exist.
    at java.awt.Desktop.checkFileValidation(Desktop.java:191)
    at java.awt.Desktop.open(Desktop.java:252)
    at interfazValidacion.excel(interfazValidacion.java:349)
    at interfazValidacion.access$600(interfazValidacion.java:10)
    at interfazValidacion$9.actionPerformed(interfazValidacion.java:224)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
    at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
    at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1170)
    at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1211)
    at java.awt.Component.processMouseEvent(Component.java:6038)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)
    at java.awt.Component.processEvent(Component.java:5803)
    at java.awt.Container.processEvent(Container.java:2058)
    at java.awt.Component.dispatchEventImpl(Component.java:4410)
    at java.awt.Container.dispatchEventImpl(Container.java:2116)
    at java.awt.Component.dispatchEvent(Component.java:4240)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
    at java.awt.Container.dispatchEventImpl(Container.java:2102)
    at java.awt.Window.dispatchEventImpl(Window.java:2429)
    at java.awt.Component.dispatchEvent(Component.java:4240)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

He intentado con lo siguiente

Código:
Desktop desktop = Desktop.getDesktop(); 
        URL url = Thread.currentThread().getContextClassLoader().getResource("mensajes/Error.xls");
        try { 
            desktop.open(new File(url.getPath())); 
        }catch (IOException e) {             
            e.printStackTrace(); 
        }


Código:
Desktop d = Desktop.getDesktop();
        try {
        URI uri = getClass().getResource("/mensajes/Error.xls").toURI();
            d.browse(uri);
        }
catch (Exception e) {
        e.printStackTrace();
        }


Bueno tengo otros metodos, pero son muy parecidos, he instanciado variables para posteriormente hacer la convesion tras conversion, pero no resulta.

Alguna otra sugerencia??

Gracias
En línea

abc
Leyer


Desconectado Desconectado

Mensajes: 782


leyer@elhacker.net


Ver Perfil WWW
Re: Abrir (Ejecutar) un archivo (fichero) contenido en un Jar
« Respuesta #3 en: 8 Noviembre 2009, 16:53 »

prueba usando las class de los jar a ver si tienes acceso aunke deberia hacerse asi ya que se supone que un jar es un comprimido. si no lo puedes hacer con asi la verdad no se me ocurre nada por haora.

Código
  1. java.util.jar.JarEntry;
  2. java.util.jar.JarFile;
  3. java.util.jar.JarEntry;
  4. java.util.jar.JarInputStream;
  5. java.util.jar.Pack200;


Saludos.
En línea

1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: Abrir (Ejecutar) un archivo (fichero) contenido en un Jar
« Respuesta #4 en: 8 Noviembre 2009, 16:59 »

Hola de nuevo, sigo intentando y solo me funciona

Código:
File path = new File("mensajes/Error.xls");
try{
Desktop.getDesktop().open(path);
}catch (IOException e) {
JOptionPane.showMessageDialog(null, e.getMessage());
}


Pero no me sirve ya que quiero que ejecute el archivo guardado en el jar :s

Por lo que he mirado el metodo open solo recibe tipo File, asi que me pregunto si haciendo la conversion de InputStream podria funcionar, lo malo es que tampoco puedo hacer la conversion o mas bien no se cual es la manera correcta :S

Help!!

Y muchas gracias
En línea

abc
1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: Abrir (Ejecutar) un archivo (fichero) contenido en un Jar
« Respuesta #5 en: 8 Noviembre 2009, 17:01 »

prueba usando las class de los jar a ver si tienes acceso aunke deberia hacerse asi ya que se supone que un jar es un comprimido. si no lo puedes hacer con asi la verdad no se me ocurre nada por haora.

Código
  1. java.util.jar.JarEntry;
  2. java.util.jar.JarFile;
  3. java.util.jar.JarEntry;
  4. java.util.jar.JarInputStream;
  5. java.util.jar.Pack200;


Saludos.


Ok, intentaré,  y posteo mis resultados

Gracias nuevamente
En línea

abc
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines