PDA

View Full Version : [JAVA] Problemi nella creazione di un file se ci sono spazi nel path


VegetaSSJ5
12-07-2010, 22:54
Salve a tutti!
Ho un problema in java creando un file. Su windows è tutto a posto, anche con gli spazi, ma con linux no.
Uso la seguente istruzione:
FileWriter oZPLFileStream = new FileWriter(sZimplFilePath);
Il problema è che se sZimplFilePath contiene uno spazio ricevo il seguente errore:
java.io.FileNotFoundException: /home/armando/Scrivania/Progetto Armando/MCKP_Generator/MCKP.zpl (No such file or directory)
Se invece il path non coneiene spazi non ho nessun problema.
Così ho provato a mettere tra doppi apici il path in questo modo:
FileWriter oZPLFileStream = new FileWriter("\"" + sZimplFilePath + "\"");
Ma niente da fare. Ho provato anche a sostituire il carattere spazio con "\ " (slash spazio)
FileWriter oZPLFileStream = new FileWriter(sZimplFilePath.replace(" ", "\\ "));
Ma niente da fare. Ho provato anche a combinare le due cose:
FileWriter oZPLFileStream = new FileWriter("\"" + sZimplFilePath.replace(" ", "\\ ") + "\"");
Ma niente....

Sapete dirmi come risolvere questo STUPIDO problema?

PGI-Bis
13-07-2010, 00:53
Il problema non è negli spazi ma nel percorso.

Quando FileWriter riceve un nome di file che non esite lo crea. Se non può crearlo emette la FileNotFoundException che incontri. Se non può crearlo per questioni di permessi aggiunge la nota "non ho i permessi per farlo". In Unix se non può crearlo perchè manca la directory in cui dovrebbe trovarsi, dice "no such file or directory" (in windows crea un file che comprende il nome che avrebbe dovuto avere la directory).

Controlla il percorso, verifica in particolare minuscole e maiuscole.

VegetaSSJ5
13-07-2010, 01:26
Il problema non è negli spazi ma nel percorso.

Quando FileWriter riceve un nome di file che non esite lo crea. Se non può crearlo emette la FileNotFoundException che incontri. Se non può crearlo per questioni di permessi aggiunge la nota "non ho i permessi per farlo". In Unix se non può crearlo perchè manca la directory in cui dovrebbe trovarsi, dice "no such file or directory" (in windows crea un file che comprende il nome che avrebbe dovuto avere la directory).

Controlla il percorso, verifica in particolare minuscole e maiuscole.
ti ringrazio per la risposta.

la directory dove deve essere scritto il file esiste. è la stessa directory dove si trova l'eseguibile jar...
invece se la directory "Progetto Armando" la chiamo "Progetto_Armando" funziona perfettamente...

VegetaSSJ5
13-07-2010, 01:52
credo di aver fatto un po' di confusione io e ho sbagliato ad aprire il thread.
in realtà qual file lo crea anche in un path che contiene spazi.

il problema invece è quando tento di fare una exec di un comando passando come parametro un file con un path contenente spazi...

segnalo ad un moderatore e riapro il thread.
chiedo scusa.