Torna indietro   Hardware Upgrade Forum > Software > Programmazione

NL-LC1 è il primo dissipatore a liquido AIO di Noctua: silenzio è la parola d'ordine
NL-LC1 è il primo dissipatore a liquido AIO di Noctua: silenzio è la parola d'ordine
Dopo anni di attesa e una lunga fase di sviluppo, Noctua entra nel mercato dei dissipatori a liquido AIO con la nuova serie NL-LC1. Forte dell'esperienza maturata nel raffreddamento ad aria, l'azienda austriaca promette di portare la propria filosofia fatta di qualità costruttiva, attenzione ai dettagli e silenziosità anche in questo segmento. Abbiamo provato il nuovo sistema per scoprire se riesce a distinguersi in un mercato ormai molto competitivo.
Boox Go 10.3 (Gen II) Lumi: il tablet e-ink con Android 15 e penna, dal prezzo super
Boox Go 10.3 (Gen II) Lumi: il tablet e-ink con Android 15 e penna, dal prezzo super
Arrivato sul mercato italiano a fine marzo, la serie Boox Go 10.3 (Gen II) offre Android 15, penna da 4096 livelli e retroilluminazione opzionale (nel modello da noi provato, Lumi, presente). La serie si compone di due tablet ePaper che fanno da e-reader, blocco note digitale e persino browser, tutto a un prezzo che fa dimenticare i prodotti di brand più blasonati
Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming
Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming
Pannello QD-OLED da 32 pollici con risoluzione 4K, frequenza di aggiornamento a 240Hz e tempi di risposta rapidissimi: il Gigabyte MO32U24 evolve il progetto del suo predecessore MO32U e alza ulteriormente l'asticella delle prestazioni. È ancora una volta un monitor indirizzato ai giocatori più esigenti
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 19-09-2007, 16:25   #1
asdf
Senior Member
 
Iscritto dal: Jul 2002
Messaggi: 369
[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, 16: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, 17: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, 09:19   #4
asdf
Senior Member
 
Iscritto dal: Jul 2002
Messaggi: 369
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, 09: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, 11:10   #6
asdf
Senior Member
 
Iscritto dal: Jul 2002
Messaggi: 369
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, 12: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, 13: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


NL-LC1 è il primo dissipatore a liquido AIO di Noctua: silenzio è la parola d'ordine NL-LC1 è il primo dissipatore a liquido A...
Boox Go 10.3 (Gen II) Lumi: il tablet e-ink con Android 15 e penna, dal prezzo super Boox Go 10.3 (Gen II) Lumi: il tablet e-ink con ...
Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming Gigabyte MO32U24 OLED: il 4K a 240Hz su un panne...
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh Recensione realme 16 5G: lo smartphone con Selfi...
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni Come rispettare tutte le nuove regole per i mono...
Threads raggiunge 500 milioni di utenti ...
Un chip nel cervello gli restituisce la ...
NVIDIA svela la tecnologia che trasforma...
iPhone del 20° anniversario e AirPods co...
Non solo Prime: ecco le 13 offerte su Am...
Xreal Aura apre le prenotazioni: gli occ...
Snap presenta i nuovi Specs: gli occhial...
Google rilascia Wear OS 7: basato su And...
Microsoft chiude la porta ai Surface da ...
Sedie gaming e da ufficio in offerta: a ...
Viltrox porta il suo 28mm f/4.5 pancake ...
Jensen Huang è andato a zappare l...
Prime Day in anticipo - giorno 3: ci son...
AMD EPYC e Instinct: accordo per fornire...
Amazon spinge Fire TV Stick 4K Select, R...
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: 11:51.


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