asdf
19-09-2007, 16:25
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):
/** 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
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):
/** 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