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:
Und hier die Anwenungsklasse:
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);
}