Kopieren von Dateien aus einem Ordner in einen anderen

DasDarki

Mitglied
Also, ich bin grade dabei zu versuchen alle Dateien in einem Ordner in einen anderen Ordner zu kopieren. Soweit gibt es keine Fehler, doch der Ordner wo die Dateien reinkopiert hätten werden sollen, ist immer leer nach dem Kopieren.
Hier die Methoden zum Kopieren:
Java:
public static void copyTemplates(String pathSource, String pathTarget){
        try{
            File file = new File(pathSource);
            File[] files = file.listFiles();
            for(File in : files){
                System.out.println(Daemon.prefix + "Copying File: " + in.getName() + " from " + in.getPath() + " to " + pathTarget);
                copyFile(in, pathTarget);
            }
        }catch(IOException e){
            e.printStackTrace();
        }
    }
   
    private static void copyFile(File source, String pathTarget) throws IOException{
        (new File(pathTarget)).mkdirs();
        File target = new File(pathTarget);
        if(!target.exists())target.createNewFile();
        Files.copy(source.toPath(), target.toPath(), StandardCopyOption.REPLACE_EXISTING);
    }

Und hier die Anwenungsklasse:
Java:
public void start(){
        try{
            ProcessBuilder pb = new ProcessBuilder("java",
                    "-Xms"+ minRam +"M",
                    "-Xmx"+ maxRam +"M",
                    "-XX:MaxGCPauseMillis=50",
                    "-XX:ParallelGCThreads=2",
                    "-XX:+UseParallelGC",
                    "-jar",
                    getPath() + "NiloCloud/jars/spigot.jar");
            pb.redirectErrorStream(true);
            pb.directory(new File(getPath() + "NiloCloud/Servers/" + uuid));
            FileUtils.copyTemplates(Daemon.templateManager.getDir(gm).replace("\\", "/"), (getPath() + "NiloCloud/Servers/" + uuid));
            Daemon.registerManager.register(RegisterStatus.NEW, gm, uuid, GameStatus.LOBBY, port);
            new PortEditor(getPath() + "NiloCloud/Servers/" + uuid + "/server.properties", port.toString()).change();
            Process process = pb.start();
            this.process = process;
            System.out.println("Process started!");
        }catch(Exception ex){}
    }

    private String getPath() throws URISyntaxException{
        String s = this.getClass().getProtectionDomain().getCodeSource().getLocation().toURI().getPath();
        s = s.replace("ncd.jar", "");
        return s.substring(1);
    }
 

Kababär

Top Contributor
In der API steht

REPLACE_EXISTING – Performs the copy even when the target file already exists. If the target is a symbolic link, the link itself is copied (and not the target of the link). If the target is a non-empty directory, the copy fails with the FileAlreadyExistsException exception.

Ansonsten würde, ich sagen, sieht doch gut aus.
Könnte entweder an dem oben gelegenen Zitat was dran sein oder aber dein Destination-Target ist nicht ganz stimmig?

getPath() + "NiloCloud/Servers/" + uuid

Hast du dir das mal angeguckt was dabei raus kommt?

Edit: Was mir auffällt. Du versuchst alle Dateien auf den gleichen Pfad zu kopieren, aber so funktioniert das nicht ganz, denn du vergisst, dass du einen Dateinamen mitgibst. Versuch mal
Code:
Files.copy(source.toPath(), target.toPath()+source.getFilename, StandardCopyOption.REPLACE_EXISTING);
 
Zuletzt bearbeitet:

JStein52

Top Contributor
Für meine Begriffe fehlen da an einigen Stellen die File.SEPARATOR d.h. "/" .

Edit: oder ist es Absicht dass du hier nie einen / dazwischen machst:
getPath() + "NiloCloud/Servers/"
 

DasDarki

Mitglied
Vermutlich gibt es Fehler, du ignorierst sie nur

Ein leerer catch block ist so ziemlich das schlimmste was man machen kann. Denn wenn nun was schief, merkst du es nichtmals
Also Fehler kommen keinen, ich habe den Try Catch Block mal weggenommen, immer noch keine Fehler.
Ich habe mir mal ausgeben lassen von wo, wohin und was kopiert werden soll:
Code:
Copying File: banned-players.json from D:\NiloCloudTest\Daemon\NiloCloud\templates\Beispiel\banned-players.json to D:/NiloCloudTest/Daemon/NiloCloud/Servers/3c954897-2142-4a74-9a40-2d37ac289869
 

Kababär

Top Contributor
Edit: Was mir auffällt. Du versuchst alle Dateien auf den gleichen Pfad zu kopieren, aber so funktioniert das nicht ganz, denn du vergisst, dass du einen Dateinamen mitgibst. Versuch mal
Code:
Files.copy(source.toPath(), target.toPath()+source.getFilename, StandardCopyOption.REPLACE_EXISTING);

Verbesserung: du gibst den Dateinamen nicht mit. Soweit ich weiß, muss Source und Target auch die Datei beinhalten, die es zu kopieren gilt. Einfach die Elternpfade in Files.copy zu stecken reicht nicht.
An dein targetPath müsste also noch der jeweilige Dateinamen. Oder hast du das schon probiert?

Bspw so:
Code:
Path FROM = Paths.get("C:\\Temp\\from.txt");
    Path TO = Paths.get("C:\\Temp\\to.txt");
    //overwrite existing file, if exists
    CopyOption[] options = new CopyOption[]{
      StandardCopyOption.REPLACE_EXISTING,
      StandardCopyOption.COPY_ATTRIBUTES
    };
    Files.copy(FROM, TO, options);
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Kopieren von Dateien die von einem anderen Programm verwendet werden? Allgemeine Java-Themen 7
M Dateien schneller kopieren Allgemeine Java-Themen 1
M Dateien nach kopieren vergleichen Allgemeine Java-Themen 9
X Dateien von der Jar zum Ordner kopieren. Allgemeine Java-Themen 4
T Ordner samt Dateien kopieren Allgemeine Java-Themen 11
R kopieren von Dateien und Verzeichnissen - UNICODE? Allgemeine Java-Themen 4
V Dateien kopieren Allgemeine Java-Themen 6
R Dateien lokal kopieren Allgemeine Java-Themen 6
S Dateien auf Diskette kopieren Allgemeine Java-Themen 3
W Dateien über Clipboard kopieren Allgemeine Java-Themen 2
G Dateien werden beim Kopieren zerstört Allgemeine Java-Themen 4
N Schnellste Art Dateien zu kopieren Allgemeine Java-Themen 16
U Dateien kopieren Allgemeine Java-Themen 3
M Ordner kopieren Allgemeine Java-Themen 5
S Referenzdatentyp kopieren Allgemeine Java-Themen 5
I Wie Vektor-Grafik in die Zwischenablage kopieren? Allgemeine Java-Themen 2
J Gebautes Jar per Maven in einen Docker Container kopieren Allgemeine Java-Themen 0
L File beim Kopieren in einen anderen Ordner umbenennen Allgemeine Java-Themen 6
B In zwischenablage kopieren Allgemeine Java-Themen 2
F Datentypen Kopieren von Datentypen Allgemeine Java-Themen 10
K JAR Datei Corrupt nach Kopieren Allgemeine Java-Themen 4
A Bestimmte Inhalte aus ArrayList 1 in ArrayList 2 kopieren Allgemeine Java-Themen 6
N String ins Clipboard kopieren ohne makieren. Allgemeine Java-Themen 12
J Umwandeln von URL zu File und danach kopieren geht nicht Allgemeine Java-Themen 1
F Java moved Files statt sie zu kopieren Allgemeine Java-Themen 12
J PDF-Datei aus JAR-Archiv in Dateisystem kopieren Allgemeine Java-Themen 1
S Einen übergebenen String kopieren Allgemeine Java-Themen 3
S in Zip kopieren -- Backup-Programm Allgemeine Java-Themen 9
P Vectorelemente in einen anderen Vector kopieren Allgemeine Java-Themen 12
J Bilder halb in falscher Farbe nach kopieren aus Web Allgemeine Java-Themen 3
D Mit Hilfe von Java aus Excel-Sheet Zellen in neues Excel Dokument kopieren Allgemeine Java-Themen 3
K NetBeans Ordner bei 'Clean&Build' automatisch in dist Verzeichnis kopieren Allgemeine Java-Themen 0
Todesbote Zeilen aus Excel in andere Excel Tabelle kopieren Allgemeine Java-Themen 0
T Mit Apache Poi Daten aus einer Excel Tabelle kopieren und in Word einfügen Allgemeine Java-Themen 1
A Collections Array-Elemente in ArrayList kopieren ohne Schleife Allgemeine Java-Themen 7
P jar aus der jar kopieren XD Allgemeine Java-Themen 4
M Pakete in Ordner Kopieren Allgemeine Java-Themen 7
D File mit Inhalt kopieren und dieses File dann neu erstellen ? Allgemeine Java-Themen 4
kodela Problem mit Kopieren über FileChannel Allgemeine Java-Themen 4
H Kopieren sehr langsam Allgemeine Java-Themen 5
I Java Ordner kopieren [Error] Allgemeine Java-Themen 6
E Files Kopieren Allgemeine Java-Themen 8
P Daten kopieren mit nio - Zugriff verweigert Allgemeine Java-Themen 8
Z Ausschneiden, Kopieren, Einfügen, Löschen in JTextArea Allgemeine Java-Themen 5
S exe Kopieren Allgemeine Java-Themen 11
E Ordner rekursiv kopieren Allgemeine Java-Themen 8
J Standard-I´/O kopieren Allgemeine Java-Themen 5
S Kopieren von Datei führt zu Beschädigung Allgemeine Java-Themen 7
D markierten Text kopieren Allgemeine Java-Themen 2
O ist tiefes Kopieren sinnvoll? Allgemeine Java-Themen 14
B Zertifikat des Users speichern (serialisieren oder kopieren) Allgemeine Java-Themen 2
S Dateiinhalt kopieren Allgemeine Java-Themen 4
G Object mit clone kopieren Allgemeine Java-Themen 21
F Kopieren eines Objekts Allgemeine Java-Themen 3
D Kopieren und Einfügen Allgemeine Java-Themen 8
E Blob Element kopieren Allgemeine Java-Themen 12
0din Websites kopieren Allgemeine Java-Themen 25
D mit java kopieren und umbenennen Allgemeine Java-Themen 6
X Objektsammlung clonen bzw. kopieren Allgemeine Java-Themen 5
A Beim Kopieren werden Bilder verfälscht Allgemeine Java-Themen 3
N Daten auf Server kopieren Allgemeine Java-Themen 6
Q Iterator kopieren Allgemeine Java-Themen 6
M Wie in Eclipse Quellcode incl. Zeilennummern kopieren? Allgemeine Java-Themen 6
G Daten von Excel kopieren - sinnvolle Datenstruktur? Allgemeine Java-Themen 3
P Eigene Klasse kopieren die auf sich selbst refferenziert Allgemeine Java-Themen 8
J Externes Programm - Konsolenausgabe kopieren/sichtbar machen Allgemeine Java-Themen 22
C File in Jar kopieren? Allgemeine Java-Themen 9
G ANT und Verzeichnisstruktur kopieren Allgemeine Java-Themen 2
G Datei löschen nach kopieren geht nicht Allgemeine Java-Themen 5
P Objekt kopieren Allgemeine Java-Themen 8
hdi ArrayList kopieren? Allgemeine Java-Themen 8
G Datei kopieren Allgemeine Java-Themen 27
O Vektor kopieren (Inhalt, nicht Referenzen) Allgemeine Java-Themen 3
I Teile von ArrayList in eine andere kopieren? Allgemeine Java-Themen 2
V Datei kopieren und Datum erhalten Allgemeine Java-Themen 2
V Sich selbst kopieren (Jar- Datei) Allgemeine Java-Themen 3
G Code mit Zeilennummern kopieren? Allgemeine Java-Themen 3
S Stream ohne Referenz kopieren ? Allgemeine Java-Themen 4
M variable übergeben NICHT KOPIEREN Allgemeine Java-Themen 12
P String in Array kopieren Allgemeine Java-Themen 3
M Datei kopieren? Allgemeine Java-Themen 2
MQue Array in ein anderes Array kopieren Allgemeine Java-Themen 5
D aufruf beim kopieren Allgemeine Java-Themen 11
G Objekt dynamisch erstellen und Inhalte kopieren Allgemeine Java-Themen 6
K Datei kopieren Allgemeine Java-Themen 2
M 2-dimensionalen array schnell kopieren Allgemeine Java-Themen 6
T Text aus Java-Applet kopieren. Allgemeine Java-Themen 14
TheJavaKid Textformatierung bei Kopieren übernehmen Allgemeine Java-Themen 8
P Mehrzeiligen Text aus JTA lesen und in andere JTA kopieren Allgemeine Java-Themen 7
S Objekte kopieren Allgemeine Java-Themen 6
G InputStream kopieren? Allgemeine Java-Themen 6
G In Windows Datei kopieren Allgemeine Java-Themen 2
G Text aus Chatfenster kopieren Allgemeine Java-Themen 7
M Cache & Datein kopieren Allgemeine Java-Themen 3
R Problem bei Kopieren eines Ordners Allgemeine Java-Themen 13
J Nicht-static variable in static variable kopieren - wie? Allgemeine Java-Themen 14
m@nu Kopieren beschleunigen Allgemeine Java-Themen 3
T Musikdateien von CD Kopieren Allgemeine Java-Themen 4
M Bild in Zwischenablage kopieren? Allgemeine Java-Themen 7
bernd Problem beim kopieren! Allgemeine Java-Themen 2

Ähnliche Java Themen


Oben