S
Stromausfall
Gast
Hallo,
ich bin neu in der Java Programmierung und hatte letztens einen 5 Tages Kurs.
Also daher bin ich noch ein richtiger Anfänger
Ein Programm hatte ich schon lange im Kopf und nun wollte ich aufgrund des Kurses
die Idee in Java realisieren.
Es geht um ein einfaches Programm, bei dem man mit Hilfe einer GUI einfach ein Quellverzeichnis und
ein Zielverzeichnis auswählt und dann per Knopfdruck einen Ordner kopiert.
Das Programm soll unter Macintosh und Linux funktionieren.
Geschrieben habe ich den Quellcode unter Mac und unter Windows.
Das Programm ist fertig und es funktioniert auch problemlos.
Ein Freund hat mir geholfen, denn soweit wäre ich alleine nicht gekommen
Nun funktioniert das Programm nur, solange kein Leerzeichen im Ordner Namen ist
Dann wird der Copy Befehl nämlich nicht richtig übergeben.
Nur mal als Beispiel unter Windows:
> xcopy C:\work D:\ --funktioniert
> xcopy C:\work to do D:\ --funktioniert nicht
Ist auch klar das der Befehl nicht klappt, da hier ja die Gänsefüßchen für den Pfad weg sind.
> xcopy "C:\work to do" D:\ -- würde wieder funktionieren
Ich bin mir nicht sicher, aber ich habe das Gefühl, der JFileChooser Dialog übergibt
den Pfad schon nicht richtig.
Das Ergebnis aus dem Dialog wird weitergegeben:
und danach in einer anderen Klasse in einen String übergeben:
der dann ausgeführt wird:
Ich habe wirklich schon sehr viel Zeit mit Suchen verbracht.
Die Forums Hilfe habe ich auch schon benutzt. Aber irgendwie komme ich nicht weiter
Der Befehl soll am Schluss mit Rsync funktionieren, aber um die ganze Sache erstmal
zu untersuchen, habe ich xcopy eingegeben.
Die Pfad Ermittlung über JFileChooser habe ich auch schon mit getPath, oder getAbsolutePath oder allen anderen
möglichen Methoden probiert.
Außerdem habe ich auch mal direkt einen String aus dem JFileChooserDialog zurückgeben lassen.
Klappt aber leider auch nicht.
Habt ihr vielleicht eine Idee oder einen Tipp für mich.
Ich würde das Programm ganz gerne nutzen
Danke euch schonmal
Gruß
Markus
ich bin neu in der Java Programmierung und hatte letztens einen 5 Tages Kurs.
Also daher bin ich noch ein richtiger Anfänger
Ein Programm hatte ich schon lange im Kopf und nun wollte ich aufgrund des Kurses
die Idee in Java realisieren.
Es geht um ein einfaches Programm, bei dem man mit Hilfe einer GUI einfach ein Quellverzeichnis und
ein Zielverzeichnis auswählt und dann per Knopfdruck einen Ordner kopiert.
Das Programm soll unter Macintosh und Linux funktionieren.
Geschrieben habe ich den Quellcode unter Mac und unter Windows.
Das Programm ist fertig und es funktioniert auch problemlos.
Ein Freund hat mir geholfen, denn soweit wäre ich alleine nicht gekommen
Nun funktioniert das Programm nur, solange kein Leerzeichen im Ordner Namen ist
Dann wird der Copy Befehl nämlich nicht richtig übergeben.
Nur mal als Beispiel unter Windows:
> xcopy C:\work D:\ --funktioniert
> xcopy C:\work to do D:\ --funktioniert nicht
Ist auch klar das der Befehl nicht klappt, da hier ja die Gänsefüßchen für den Pfad weg sind.
> xcopy "C:\work to do" D:\ -- würde wieder funktionieren
Ich bin mir nicht sicher, aber ich habe das Gefühl, der JFileChooser Dialog übergibt
den Pfad schon nicht richtig.
Code:
private File oeffneDateidialog() {
JFileChooser dialog = new JFileChooser();
dialog.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
dialog.showOpenDialog(copyprogramm.this);
File pfadname = dialog.getSelectedFile();
return pfadname;
Das Ergebnis aus dem Dialog wird weitergegeben:
Code:
private void setzeQuellVerzeichnis() {
// Wenn der Anwender beim Dialog auf Abbrechen drückt kommt hier null an!
File quelle = oeffneDateidialog();
if (quelle != null) {
cmd.setQuellVerzeichnis(quelle.toString());
und danach in einer anderen Klasse in einen String übergeben:
Code:
public String getBefehl() {
xcopyBefehl= "xcopy" + getQuellVerzeichnis() + " " + getZielVerzeichnis();
System.out.println(xcopyBefehl);
return xcopyBefehl;
der dann ausgeführt wird:
Code:
public void xcopyAufruf() {
try {
Process proc = Runtime.getRuntime().exec(cmd.getBefehl());
} catch (Throwable t) {
t.printStackTrace();
Ich habe wirklich schon sehr viel Zeit mit Suchen verbracht.
Die Forums Hilfe habe ich auch schon benutzt. Aber irgendwie komme ich nicht weiter
Der Befehl soll am Schluss mit Rsync funktionieren, aber um die ganze Sache erstmal
zu untersuchen, habe ich xcopy eingegeben.
Die Pfad Ermittlung über JFileChooser habe ich auch schon mit getPath, oder getAbsolutePath oder allen anderen
möglichen Methoden probiert.
Außerdem habe ich auch mal direkt einen String aus dem JFileChooserDialog zurückgeben lassen.
Klappt aber leider auch nicht.
Habt ihr vielleicht eine Idee oder einen Tipp für mich.
Ich würde das Programm ganz gerne nutzen
Danke euch schonmal
Gruß
Markus