Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora
WF-1000X M6 è la sesta generazione di auricolare in-ear sviluppata da Sony, un prodotto che punta a coniugare facilità di utilizzo con una elevata qualità di riproduzione dei contenuti audio e una cura nella riduzione del rumore ambientale che sia da riferimento
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI
Snowflake ha presentato diverse novità per la sua piattaforma legate all'intelligenza artificiale. Quella forse più eclatante è una collaborazione con OpenAI, ma non mancano diverse nuove funzionalità che rendono la piattaforma più flessibile e in grado di rispondere meglio alle esigenze in continuo cambiamento delle aziende
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI
Con velocità teoriche fino a 11 Gbps, gestione tramite app intelligente e protezione avanzata dei dispositivi, Roamii BE Pro porta il Wi‑Fi 7 tri‑band nelle abitazioni più esigenti. Un sistema Wi-Fi Mesh proposto da MSI allo scopo di garantire agli utenti una rete fluida e continua capace di sostenere streaming 8K, gaming competitivo e le applicazioni moderne più esigenti in termini di banda
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 19-09-2007, 17:25   #1
asdf
Senior Member
 
Iscritto dal: Jul 2002
Messaggi: 336
[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
Old 19-09-2007, 17:26   #2
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
ma usare winrar tipo?
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 19-09-2007, 18:45   #3
franksisca
Senior Member
 
L'Avatar di franksisca
 
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
Quote:
Originariamente inviato da ^TiGeRShArK^ Guarda i messaggi
ma usare winrar tipo?
infatti......non capisco perchè complicarsi la vita
__________________
My gaming placement
franksisca è offline   Rispondi citando il messaggio o parte di esso
Old 20-09-2007, 10:19   #4
asdf
Senior Member
 
Iscritto dal: Jul 2002
Messaggi: 336
Perché io devo estrarre il file jar da remoto utilizzando una servlet. Il file risiederebbe sul server del cliente (mi hanno detto di fare così, io avrei messo direttamente i files estratti).
asdf è offline   Rispondi citando il messaggio o parte di esso
Old 20-09-2007, 10:40   #5
Mixmar
Senior Member
 
L'Avatar di Mixmar
 
Iscritto dal: Feb 2002
Città: Trento
Messaggi: 962
Prova a caricare il file Jar con la getResource del tuo classLoader, poi aprilo come JarFile: troverai all'interno una sequenza di ZipEntry, che corrispondo ai file contenuti.

Attenzione però: se fai così, devi aggiungere al classpath la directory che contiene il file Jar (non solo il file Jar in sè, non basta).

Se il file sta in "tomcat/lib", per esempio, puoi mettere nel classpath "tomcat/lib/miojar.jar;tomcat/lib".
__________________
"Et Eärallo Endorenna utúlien. Sinome maruvan ar Hildinyar tenn' Ambar-metta!" -- Aragorn Elessar, Heir of Isildur
Mixmar -- OpenSuSE 11.1 on AMD 64 3000+ on DFI LanParty nF4-D | GeForce 6600 GT + Thermaltake Schooner on Samsung 710N
Storage -- ( 2 x Hitachi Deskstar 80 Gb + 1 x Hitachi 250 Gb ) = 1 RAID 5 + 1 Storage space LaCie Ethernet Disk Mini 250 Gb | HP - DV2150 EL MILAN CLAN
Mixmar è offline   Rispondi citando il messaggio o parte di esso
Old 20-09-2007, 12:10   #6
asdf
Senior Member
 
Iscritto dal: Jul 2002
Messaggi: 336
Grazie mille.
Oggi pomeriggio proverò ad utilizzare la classe JarFile che mi hai segnalato (e di cui ingoravo l'esistenza).

Ciao.
asdf è offline   Rispondi citando il messaggio o parte di esso
Old 20-09-2007, 13:50   #7
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da ^TiGeRShArK^ Guarda i messaggi
ma usare winrar tipo?
perché WinRar potrebbe non essere installato sul computer su cui verrà eseguito il jar?
perché interagire con un programma esterno e nativo oltre che complicato lo legherebbe anche ad una specifica piattaforma?
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 20-09-2007, 14:17   #8
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
Quote:
Originariamente inviato da 71104 Guarda i messaggi
perché WinRar potrebbe non essere installato sul computer su cui verrà eseguito il jar?
perché interagire con un programma esterno e nativo oltre che complicato lo legherebbe anche ad una specifica piattaforma?
pensavo ke doveva vedere al runtime i file del jar per vedere tipo se aveva aggiunto correttamente qulche risorsa o cose del genere...
dal post iniziale non si capiva quello ke doveva fare
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora Sony WF-1000X M6: le cuffie in-ear di riferiment...
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI Snowflake porta l'IA dove sono i dati, anche gra...
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo M...
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi Recensione HUAWEI Mate X7: un foldable ottimo, m...
Nioh 3: souls-like punitivo e Action RPG Nioh 3: souls-like punitivo e Action RPG
Roscosmos ha lanciato il satellite meteo...
Starship Troopers: Ultimate Bug Wars, to...
Il razzo spaziale europeo Ariane 6, per ...
Oracle Fusion Cloud Applications si pote...
OHB Italia svilupperà un satellit...
Fortinet: "Ora abbiamo una chance d...
Linux Mint chiude con gli aggiornamenti ...
Compressori portatili auto in sconto su ...
Durante il lancio della missione USSF-87...
Dopo il ritiro di Intel da Magdeburgo, l...
Xiaomi 15T scende a 388€ su Amazon: 12GB...
MSI Afterburner: arriva il monitoraggio ...
Missione cinese Chang'e-6: confermata l'...
Addio esenzione sotto i 150 euro: l'UE i...
Allarme riavvii su Windows 11 dopo il ri...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 01:51.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v