Möchte mit meinem Programm den Output von der Commandozeile einlesen und auswerten.
Codeausschnitt:
Bsp. Output ls -l /tmp/testfile.txt
Ergebnis: Liefert die Eigenschaften der Datei, soweit alles Ok.
Nun tritt folgendes Problem auf:
Bei Dateinamen (fullfilename) mit Sonderzeichen bzw. Leerzeichen wird der Befehl nicht korrekt ausgeführt, deshalb habe ich Hochkommas eingefügt.
Bsp. Output ls -l '/tmp/testfile 01 04 2005.txt'
Ergebnis: Liefert eine Exception NullPointer, irgendwie fünktioniert das nicht mit Hochkommas
Aber!: Wenn ich direkt in der Commandozeile den Befehl absetze funktionierts !?
Das klappt auch nicht
Hat jemand eine Idee? :roll:
Codeausschnitt:
Code:
exec_bash ="ls -l "+fullfilename+";
Process p = Runtime.getRuntime().exec( exec_bash );
StringBuffer sb = new StringBuffer();
java.io.BufferedReader in = new java.io.BufferedReader(new java.io.InputStreamReader( p.getInputStream() ) );
String line = in.readLine();
Bsp. Output ls -l /tmp/testfile.txt
Ergebnis: Liefert die Eigenschaften der Datei, soweit alles Ok.
Nun tritt folgendes Problem auf:
Bei Dateinamen (fullfilename) mit Sonderzeichen bzw. Leerzeichen wird der Befehl nicht korrekt ausgeführt, deshalb habe ich Hochkommas eingefügt.
Code:
exec_bash ="ls -l ' "+fullfilename+" ';
Bsp. Output ls -l '/tmp/testfile 01 04 2005.txt'
Ergebnis: Liefert eine Exception NullPointer, irgendwie fünktioniert das nicht mit Hochkommas
Aber!: Wenn ich direkt in der Commandozeile den Befehl absetze funktionierts !?
Das klappt auch nicht
Code:
exec_bash ="ls -l \" "+fullfilename+" \";
Hat jemand eine Idee? :roll: