ERLEDIGT
NEIN
NEIN
ANTWORTEN
4
4
ZUGRIFFE
1527
1527
EMPFEHLEN
-
Hi Leute,
ich hoffe jemand kann mir bei meinem Problem helfen:
Ich hab ein Programm, welches praktisch ein eigener Explorer für meine Videodateien darstellt. D. h. es sucht mir alle Videodateien aus einem bestimmten Pfad und zeigt die dann in einer jList an. Wenn ich jetzt eine bestimmte Datei in der Liste anklicke, soll diese mit dem VLC Media Player geöffnet werden. Das funktioniert auch, aber NUR wenn sich im gesamten Pfad keine Leerzeichen befinden. Wenn sich ein Leerzeichen im Pfad befindet hängt sich der VLC Media Player auf.
Hier mal die wichtigen Teile des Codes:
GUI-Klasse
Code :1 2 3 4 5 6 7 8 9
... String player = "C:\\Programme\\VideoLAN\\VLC\\vlc.exe"; ... private void onShowVideoFile(java.awt.event.MouseEvent evt) { File videoFile= new File([B]"hier steht mein pfad mit den leerzeichen"[/B]); mbl.openVideoFile(player, videoFile); } ...
Business-Layer Klasse (mbl)
Code :1 2 3 4 5 6 7 8 9 10 11 12 13
... public void openVideoFile(String player, File videoFile) { try { Runtime.getRuntime().exec(player + " " + videoFile); } catch (IOException ex) { Logger.getLogger(ManagerBL.class.getName()).log(Level.SEVERE, null, ex); System.out.println("Error 301 - Could not start video file!"); } } ...
Weiß jemand, wie ich das in den Griff bekommen könnte, ohne gleich meine ganzen Dateien händisch umzubennen?
-
27.10.08 07:59 #2
- Registriert seit
- Aug 2005
- Ort
- Karlsruhe (Baden-Württemberg)
- Beiträge
- 905
Was sagt denn die Api...:
http://java.sun.com/javase/6/docs/ap...g/Runtime.html
Kurzum, du übergibst ein String[] und jedes String ist wie wenn du es in der Kommandozeile mit Leerzeichen trennst.
Wobei ProcessBuilder seit Java 5 der bevorzugte Weg ist.Wäre super wenn ihr euren Code in dieser Form einfügt:
[java]System.out.println("Hello World");[/java]Code java:1
System.out.println("Hello World");
Für erledigte Threads dürft ihr den "erledigt"-Button anklicken!
Über Dank freut sich jeder, der euch geholfen hat - ein Klick auf "Danke" kostet ja nicht mal was
Blog: http://javaeffective.wordpress.com/
-
Hi,
der gesamte Pfad mit Leerzeichen sollte in Anführungszeichen stehen, probiers mal damit:
Code :1
Runtime.getRuntime().exec(player + " " + "\"" + videoFile + "\"");
Gruß,
Michael
-
@mehirc:
Danke für die Antwort. Hab's gleich ausprobiert, und es funktioniert super. Danke nochmals
-
31.10.08 07:51 #5
- Registriert seit
- Aug 2005
- Ort
- Karlsruhe (Baden-Württemberg)
- Beiträge
- 905
Wie gesagt, der richtige Weg wäre:
Wenn >=Java5:
Code java:1 2
ProcessBuilder pb = new ProcessBuilder(player, videoFile); Process p = pb.start();
ansonsten:
Dadurch übernimmt Java für dich das escapen was je nach Betriebssystem unterschiedlich ist.Wäre super wenn ihr euren Code in dieser Form einfügt:
[java]System.out.println("Hello World");[/java]Code java:1
System.out.println("Hello World");
Für erledigte Threads dürft ihr den "erledigt"-Button anklicken!
Über Dank freut sich jeder, der euch geholfen hat - ein Klick auf "Danke" kostet ja nicht mal was
Blog: http://javaeffective.wordpress.com/
Ähnliche Themen
-
Magix video deluxe.. problem beim exportieren
Von kyue im Forum Videoschnitt, Videotechnik & -produktionAntworten: 1Letzter Beitrag: 23.12.06, 01:27 -
Probleme beim Öffnen von Text-Dateien
Von bleibirne im Forum Visual Basic 6.0Antworten: 1Letzter Beitrag: 24.01.06, 16:46 -
Versionsproblem beim Öffnen von Office-Dateien
Von mstangl im Forum Office-AnwendungenAntworten: 6Letzter Beitrag: 21.12.05, 17:33 -
Problem mit den Schriften beim Öffnen von Illustrator 10-Dateien in CS
Von larry flint im Forum Vektor-ProgrammeAntworten: 2Letzter Beitrag: 29.11.04, 09:00 -
Problem beim Öffnen
Von MissIndependent im Forum PhotoshopAntworten: 8Letzter Beitrag: 01.01.04, 18:48





Zitieren
Login





