Hallo,
es geht bei meinem Problem darum das ich eine Datei aus dem Ordner x in den Order y kopieren will. Zu dem Thema habe ich mich jetzt schon durch gegooglet und will es eigentlich mit File.move umsetzen.
File.move erwartet jedoch zwei Path Variablen, und dabei beginnt mein Problem.
Wenn ich einen Path mittels Paths.get("pfad") erstellen will meckert mein Eclipse das Paths.get() einen String und einen String[] erwartet . Alle Beispiele die ich durch suchen gefunden habe arbeiten jedoch nur mit Paths.get(String).
Ich versuche es gerade mit einem Test projekt zum laufen zubekommen.
Ich habe mittlerweile schon einige Möglichkeiten durchprobiert, wie man an den auskommentierten Zeilen erkennen kann.
Wenn ich den Code ausführe erhalte ich:
Ich habe zwei vermutungen:
1. Es hat irgendwas mit den Dateiberechtigungen unter Windows zutun.
2. Ich bin zu blöd.
Daher meine Bitte und mein Dank im Vorraus an euch.
Könnt ihr mir bei den folgenden Fragen helfen:
1. Wieso erwartet Paths.get() String und String[] von mir. In der Literatur finde ich habe nur Beispiele mit nur einem String?
2. Was mache ich falsch? bzw. Welche Info bräuchte man um zusehen das es am Dateisystem liegt?
es geht bei meinem Problem darum das ich eine Datei aus dem Ordner x in den Order y kopieren will. Zu dem Thema habe ich mich jetzt schon durch gegooglet und will es eigentlich mit File.move umsetzen.
File.move erwartet jedoch zwei Path Variablen, und dabei beginnt mein Problem.
Wenn ich einen Path mittels Paths.get("pfad") erstellen will meckert mein Eclipse das Paths.get() einen String und einen String[] erwartet . Alle Beispiele die ich durch suchen gefunden habe arbeiten jedoch nur mit Paths.get(String).
Ich versuche es gerade mit einem Test projekt zum laufen zubekommen.
Ich habe mittlerweile schon einige Möglichkeiten durchprobiert, wie man an den auskommentierten Zeilen erkennen kann.
Java:
import java.io.IOException;
import java.nio.file.FileSystem;
import java.nio.file.FileSystems;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.StandardCopyOption;
public class Main {
public static void main(String[] args) throws IOException{
FileSystem system = FileSystems.getDefault();
//Path moveSourcePath = system.getPath("\\Users\\c.fuchs\\Documents\\test.txt", null);
//Path moveTargetPath = system.getPath( "\\Users\\c.fuchs\\Documents\\test-Kopie.txt", null );
//Path moveSourcePath = system.getPath("C:" + File.separator + "Users" + File.separator + "c.fuchs" + File.separator + "Documents" + File.separator + "test.txt", null);
//Path moveTargetPath = system.getPath( "C:" + File.separator + "Users" + File.separator + "c.fuchs" + File.separator + "Documents" + File.separator + "test-Kopie.txt", null );
//Path testSourcePath = Paths.get(URI.create("file:/C:/Users/c.fuchs/Documents/text.txt"));
//Path testTargetPath = Paths.get(URI.create("file:/C:/Users/c.fuchs/Documents/text-Kopie.txt"));
//Path moveSourcePath = Paths.get( "C:" + File.separator + "Users" + File.separator + "c.fuchs" + File.separator + "Documents" + File.separator + "text.txt", null );
//Path moveTargetPath = Paths.get( "C:" + File.separator + "Users" + File.separator + "c.fuchs" + File.separator + "Documents" + File.separator + "text-kopie.txt", null );
Path testSourcePath = FileSystems.getDefault().getPath("///Users/c.fuchs/Documents/test.txt", null);
Path testTargetPath = FileSystems.getDefault().getPath("///Users/c.fuchs/Documents/test-kopie.txt",null);
Path target_dir = FileSystems.getDefault().getPath("///Users/c.fuchs/Documents",null);
System.out.println(testSourcePath);
System.out.println(testTargetPath);
Files.move( testSourcePath, testTargetPath, null);
}
}
Wenn ich den Code ausführe erhalte ich:
Exception in thread "main" java.lang.NullPointerException
at sun.nio.fs.WindowsFileSystem.getPath(Unknown Source)
at Main.main(Main.java:20)
Ich habe zwei vermutungen:
1. Es hat irgendwas mit den Dateiberechtigungen unter Windows zutun.
2. Ich bin zu blöd.
Daher meine Bitte und mein Dank im Vorraus an euch.
Könnt ihr mir bei den folgenden Fragen helfen:
1. Wieso erwartet Paths.get() String und String[] von mir. In der Literatur finde ich habe nur Beispiele mit nur einem String?
2. Was mache ich falsch? bzw. Welche Info bräuchte man um zusehen das es am Dateisystem liegt?