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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Filtrar archivos dentro de un jar ¿?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Filtrar archivos dentro de un jar ¿?  (Leído 3,119 veces)
1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Filtrar archivos dentro de un jar ¿?
« en: 22 Agosto 2009, 20:10 pm »

Hola, he estado implementando un metodo para filtrar archivos contenidos en un carpeta, y si que funciona (Al estar al mismo nivel de la clase), posteriormente los guardo en jComboBox.
El problema viene cuando esta carpeta la guardo dentro de un jar.  He intentado con InputStream en lugar de File y con FilterInputStream pero no parece funcionar y lo mas probable que esté haciendo algo (o todo) mal.
Aquí dejo mi metodo por si alguien sabe como ayudarme.


Este metodo si funciona.
Código:
private String extension = ".java";
private File file;
private File javas[];
private String clases[];
.
.
.
private void filtrar(){

    file = new File("carpeta/");
           
        FileFilter filtroJava = new FileFilter(){
public boolean accept(File file){
return file.getName().toLowerCase().endsWith(extension);
}
    };
   
    javas = file.listFiles(filtroJava);
   
    clases = new String[javas.length];
    for (int i=0; i< javas.length; i++){
            clases[i]=javas[i].getName();
        }
 
  seleccionarCodigo.setModel(new DefaultComboBoxModel(clases));
 }


Saludos







En línea

abc
kinos

Desconectado Desconectado

Mensajes: 104



Ver Perfil
Re: Filtrar archivos dentro de un jar ¿?
« Respuesta #1 en: 22 Agosto 2009, 20:21 pm »

Holas, he encontrado esto. Me parece que lo que hace es listar los archivos contenidos en un jar. Espero que te sirva. Luego supongo que lo podrás filtrar por extensión como estas haciendo.

Código
  1. import java.util.jar.*;
  2. import java.util.*;
  3. import java.io.*;
  4.  
  5. public class PackageUtils {
  6.  
  7. private static boolean debug = true;
  8.  
  9. public static List getClasseNamesInPackage
  10.     (String jarName, String packageName){
  11.   ArrayList classes = new ArrayList ();
  12.  
  13.   packageName = packageName.replaceAll("\\." , "/");
  14.   if (debug) System.out.println
  15.        ("Jar " + jarName + " looking for " + packageName);
  16.   try{
  17.     JarInputStream jarFile = new JarInputStream
  18.        (new FileInputStream (jarName));
  19.     JarEntry jarEntry;
  20.  
  21.     while(true) {
  22.       jarEntry=jarFile.getNextJarEntry ();
  23.       if(jarEntry == null){
  24.         break;
  25.       }
  26.       if((jarEntry.getName ().startsWith (packageName)) &&
  27.            (jarEntry.getName ().endsWith (".class")) ) {
  28.         if (debug) System.out.println
  29.           ("Found " + jarEntry.getName().replaceAll("/", "\\."));
  30.         classes.add (jarEntry.getName().replaceAll("/", "\\."));
  31.       }
  32.     }
  33.   }
  34.   catch( Exception e){
  35.     e.printStackTrace ();
  36.   }
  37.   return classes;
  38. }
  39.  
  40. /**
  41. *
  42. */
  43.  public static void main (String[] args){
  44.   List list =  PackageUtils.getClasseNamesInPackage
  45.        ("C:/j2sdk1.4.1_02/lib/mail.jar", "com.sun.mail.handlers");
  46.   System.out.println(list);
  47.   /*
  48.    output :
  49.    
  50.     Jar C:/j2sdk1.4.1_02/lib/mail.jar looking for com/sun/mail/handlers
  51.     Found com.sun.mail.handlers.text_html.class
  52.     Found com.sun.mail.handlers.text_plain.class
  53.     Found com.sun.mail.handlers.text_xml.class
  54.     Found com.sun.mail.handlers.image_gif.class
  55.     Found com.sun.mail.handlers.image_jpeg.class
  56.     Found com.sun.mail.handlers.multipart_mixed.class
  57.     Found com.sun.mail.handlers.message_rfc822.class
  58.     [com.sun.mail.handlers.text_html.class,
  59.     com.sun.mail.handlers.text_xml.class,  com
  60.     .sun.mail.handlers.image_jpeg.class,
  61.     , com.sun.mail.handlers.message_rfc822.class]
  62.    
  63.    */
  64.  }
  65. }
  66.  
  67.  


En línea

1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: Filtrar archivos dentro de un jar ¿?
« Respuesta #2 en: 22 Agosto 2009, 21:13 pm »

Excelente esto es mas de lo que buscaba  ;-)
Esta clase ya casi hace todo por mi  ;D

Muchas gracias kinos :D

Saludos
En línea

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

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Rapidshare obligado a filtrar los archivos subidos por sus usuarios
Noticias
wolfbcn 0 1,656 Último mensaje 19 Marzo 2012, 02:16 am
por wolfbcn
Borrar archivos dentro de un EXE...??
Software
radamantis2707 5 3,182 Último mensaje 15 Mayo 2012, 09:26 am
por Saberuneko
Programa para filtrar archivos
Dudas Generales
seus 2 1,965 Último mensaje 5 Enero 2020, 21:21 pm
por EdePC
contribucion inspecionar archivos office por dentro
Java
sapito169 0 2,155 Último mensaje 5 Octubre 2021, 01:03 am
por sapito169
C sharp - Programacion dentro de archivos .DLL
Dudas Generales
Alanarguilez 2 4,346 Último mensaje 14 Noviembre 2023, 00:14 am
por Alanarguilez
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines