comando ls in java

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Avatar utente
HammerOn
Prode Principiante
Messaggi: 236
Iscrizione: martedì 5 giugno 2007, 11:25

comando ls in java

Messaggio da HammerOn »

buongiorgio a tutti i mastri presenti  in questo fantastico forum, illustro subito il problema

come da oggetto devo eseguire in java il comando ls questa è la porzione di codice incriminata ^_^

Codice: Seleziona tutto

List<String> command= new Vector<String>();
command.add("ls");
if(hideFile)
	command.add("-a");
command.add("-F");
command.add(path);
ProcessBuilder procBld = new ProcessBuilder(command);
procBld.start();
la porzione di codice fa il suo sporco lavoro fino a quando il path non contiene file/directory con il nome composto da 2 parole (ex. "Nuova Cartella")

l'errore che restituisce è "file o directory non trovata".
ora: io ho prato a raggirare il problema modificando il path nei seguenti modi

(tenendo conto che il path su cui eseguire il comando ls sia "/home/User/Scrivania/Nuova Cartella/")

soluzione 1:
/home/User/Scrivania/"Nuova Cartella"/

soluzione 2:
/home/User/Scrivania/Nuova\ Cartella/

soluzione 3:
'/home/User/Scrivania/Nuova Cartella/'

entrambe le soluzioni se fatte sulla shell danno il risultato corretto (il file list della cartella) ma su java continua a darmi il solito maledetto errore file o directory non trovata!!

qualche workaround?soluzione?...vi prego  :'(


HOLA
Ultima modifica di HammerOn il lunedì 10 marzo 2008, 22:40, modificato 1 volta in totale.
Avatar utente
Vicious
Prode Principiante
Messaggi: 103
Iscrizione: venerdì 3 novembre 2006, 0:06

Re: comando ls in java

Messaggio da Vicious »

devi per forza usare 'ls'?
- se si, sorry non ho risposta  >:(
- se no,

Codice: Seleziona tutto

File directory = new File(pathDirectory);
for(String file: directory.list())
	System.out.println(file);
You have the right to free speech as long as you're not dumb enough to actually try it
Avatar utente
Massimo S.
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1931
Iscrizione: giovedì 28 settembre 2006, 14:34

Re: comando ls in java

Messaggio da Massimo S. »

Io farei come suggerisce Vicious, altrimenti proverei con

soluzione 4:
"/home/User/Scrivania/Nuova Cartella/"  ;D


Ovviamente le virgolette vanne escapate in \"
es.

Codice: Seleziona tutto

Strin path = "\"/home/User/Scrivania/Nuova Cartella/\"";
Avatar utente
HammerOn
Prode Principiante
Messaggi: 236
Iscrizione: martedì 5 giugno 2007, 11:25

Re: comando ls in java

Messaggio da HammerOn »

Vicious ha scritto:

Codice: Seleziona tutto

File directory = new File(pathDirectory);
for(String file: directory.list())
	System.out.println(file);
azz...che babbazzo non c'ho pensato  (mad) ..... provato e funzionante

THX
(b2b)
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 3 ospiti