EnZiMa
12-07-2008, 00:10
Salve a tutti!
Devo consegnare un progetto per l'uni, il programma deve leggere un file impostazioni.xml situato nella cartella /setup, quindi esternamente al jar.
Per evitare problemi ho inserito il path assoluto:
private final static String FILE_SETUP = File.separator+"setup"+File.separator+"impostazioni.xml";
//rappresenta il path assoluto in cui si trova il file jar
private static String pathAssoluto = new File("").getAbsolutePath();
//leggo il file xml
SAXBuilder builder = new SAXBuilder();
Document document = builder.build(pathAssoluto+FILE_SETUP);
Allora, se il progetto sta su una cartella del desktop, quindi il path assoluto
è : /home/enzima/Scrivania/Progetto , mentre quello relativo del file di config è : setup/impostazioni.xml, manca un / prima di setup che ho aggiunto con File.separator.
schema:
/home/enzima/Scrivania/Progetto - path assoluto dove c'è il jar
|
|---setup/impostazioni.xml - path relativo
path completo : /home/enzima/Scrivania/Progetto/setup/impostazioni.xml
Ok quindi in teoria il path completo per aprire il file dovrebbe essere giusto vero? Invece noooooo!!! :cry: :mc:
se lo avvio da nautilus, mi cattura l'eccezione e mi dice che non trova : /home/enzima/setup/impostazioni.xml. Cioè vuole che la cartella setup e il file impostazioni.xml siano necessariamente nella home!!! come mai?!? :confused:
invece da console dando un semplice java -jar progetto.jar funziona!!! :eek:
da windowz per partire basta un semplice doppioclick
esiste una spiegazione a tutto ciò?!?!?!? :confused: :mc:
Devo consegnare un progetto per l'uni, il programma deve leggere un file impostazioni.xml situato nella cartella /setup, quindi esternamente al jar.
Per evitare problemi ho inserito il path assoluto:
private final static String FILE_SETUP = File.separator+"setup"+File.separator+"impostazioni.xml";
//rappresenta il path assoluto in cui si trova il file jar
private static String pathAssoluto = new File("").getAbsolutePath();
//leggo il file xml
SAXBuilder builder = new SAXBuilder();
Document document = builder.build(pathAssoluto+FILE_SETUP);
Allora, se il progetto sta su una cartella del desktop, quindi il path assoluto
è : /home/enzima/Scrivania/Progetto , mentre quello relativo del file di config è : setup/impostazioni.xml, manca un / prima di setup che ho aggiunto con File.separator.
schema:
/home/enzima/Scrivania/Progetto - path assoluto dove c'è il jar
|
|---setup/impostazioni.xml - path relativo
path completo : /home/enzima/Scrivania/Progetto/setup/impostazioni.xml
Ok quindi in teoria il path completo per aprire il file dovrebbe essere giusto vero? Invece noooooo!!! :cry: :mc:
se lo avvio da nautilus, mi cattura l'eccezione e mi dice che non trova : /home/enzima/setup/impostazioni.xml. Cioè vuole che la cartella setup e il file impostazioni.xml siano necessariamente nella home!!! come mai?!? :confused:
invece da console dando un semplice java -jar progetto.jar funziona!!! :eek:
da windowz per partire basta un semplice doppioclick
esiste una spiegazione a tutto ciò?!?!?!? :confused: :mc: