Hallo,
ich habe folgendes Problem beim Kopieren einer beliebigen Datei.
Der Benutzer kann über jFileChooser eine Datei wählen.
Existiert diese, so kann der Benutzer diese optional kopieren.
Der Dateiname der Kopie ist mit der gewählten Datei identisch. Allerdings soll noch "Kopie" mit angehängt werden. Also z.B. test.txt wird zu testKopie.txt. Die Endungen wechseln immer, je nach ausgewählter Datei. Der Zielpfad ist immer da, wo auch die eingelesene Datei liegt.
Das Auswählen und auch kopieren klappt. Nur Den Dateinamen bekomme ich nicht realisiert.
Bei
wird das Kopie zwar angehängt, allerdings hinter die Dateiendung, so dass man die Datei nicht einfach öffnen kann, sondern erst umbenennen oder das dazugehörige Programm wählen muss. Bringe ich den String "Kopie" vor dateipfad, so gibt es eine java.nio.file.InvalidPathException.
Ist mein Vorhaben so überhaupt möglich? Und wenn ja, wie könnte ich mein Problem lösen.
Vielen Dank im Voraus.
ich habe folgendes Problem beim Kopieren einer beliebigen Datei.
Der Benutzer kann über jFileChooser eine Datei wählen.
Existiert diese, so kann der Benutzer diese optional kopieren.
Der Dateiname der Kopie ist mit der gewählten Datei identisch. Allerdings soll noch "Kopie" mit angehängt werden. Also z.B. test.txt wird zu testKopie.txt. Die Endungen wechseln immer, je nach ausgewählter Datei. Der Zielpfad ist immer da, wo auch die eingelesene Datei liegt.
Das Auswählen und auch kopieren klappt. Nur Den Dateinamen bekomme ich nicht realisiert.
Java:
...
// Ausschnitt vom Einlesen mittels jFileChooser
String dateipfad = dateiauswahl.getSelectedFile().getAbsolutePath();
...
// Kopieroption, bei klicken auf Ja mittels Fenster von JOptionPane
if (kopieren == JOptionPane.YES_OPTION) {
System.out.println("\nDer Kopiervorgang wird gestartet.");
Path test = Paths.get(dateipfad);
Path kopie = Paths.get(dateipfad + "Kopie");
try {
Files.copy(test, kopie, StandardCopyOption.REPLACE_EXISTING);
System.out.println("Der Kopiervorgang wurde erfolgreich beendet.");
} catch (IOException e) {
e.printStackTrace();
}
}
...
Bei
Java:
Paths.get(dateipfad + "Kopie");
Ist mein Vorhaben so überhaupt möglich? Und wenn ja, wie könnte ich mein Problem lösen.
Vielen Dank im Voraus.