View Single Post
Old 19-09-2007, 16:25   #1
asdf
Senior Member
 
Iscritto dal: Jul 2002
Messaggi: 327
[JAVA] analizzare il contenuto di un jar a runtime

Ciao.
volevo chiedervi in che modo posso analizzare (a runtime) il contenuto del file jar che sto eseguendo (o di un altro file jar).

Infatti vorrei estrarre alcune file dal jar che sto eseguendo, ma riesco a farlo solo se gli indico io il nome del file da estrarre. Il problema č che vorrei farlo senza dovergli indicare tutti i file ma facendogli estrarre automaticamente tutti i files contenuti in una sottodirectory del file jar.

Il metodo (che mi funziona) che uso per estrarre il singolo file č il seguente (ha il problema che estrae un singolo file quindi devo specificare i file da estrarre all'interno del codice):
Codice:
    /** Estrae un file dal file jar mettendolo nella directory SETTINGSDIR */
    private void extractSetting(String fileName){
        //estraggo dal file .jar i .vcf se non sono giā presenti
        ClassLoader jarFile=getClass().getClassLoader();
        try {
            //creo la directory che conterrā i settaggi
            if(!new File(SETTINGSDIR).exists()) new File(SETTINGSDIR).mkdir();

            //se il settaggio non c'č giā lo estraggo
            if(!new File(SETTINGSDIR+fileName).exists()){
                InputStream in=jarFile.getResourceAsStream(fileName);
                OutputStream out = new FileOutputStream(SETTINGSDIR+fileName);

                // Transfer bytes from in to out
                byte[] buf = new byte[1024];
                int len;
                while ((len = in.read(buf)) > 0) {
                    out.write(buf, 0, len);
                }
                in.close();
                out.close();
            }

        } catch (Exception e) {e.printStackTrace();}
    }
Grazie per l'aiuto
asdf č offline   Rispondi citando il messaggio o parte di esso