Hallo zusammen,
ich beschäftige mich erst seit Kurzem mit der Java-GUI. Ich habe ein Programm, mit dem ich Ordner kopieren kann. Da diese recht groß sind, dauert der Vorgang relativ lange. Weil ich nicht möchte, dass der User denkt, das Programm wäre abgestürzt o.ä., würde ich gerne eine ProgressBar einbinden. Kann mir jemand helfen, wie das geht? Ich benutze NetBeans.
Hier der Code zum kopieren:
ich beschäftige mich erst seit Kurzem mit der Java-GUI. Ich habe ein Programm, mit dem ich Ordner kopieren kann. Da diese recht groß sind, dauert der Vorgang relativ lange. Weil ich nicht möchte, dass der User denkt, das Programm wäre abgestürzt o.ä., würde ich gerne eine ProgressBar einbinden. Kann mir jemand helfen, wie das geht? Ich benutze NetBeans.
Hier der Code zum kopieren:
Java:
public void copyDir(File quelle, File ziel) throws FileNotFoundException, IOException {
File[] files = quelle.listFiles();
File newFile = null;
ziel.mkdirs(); // Erstellt alle benötigten Ordner
if (files != null) {
for (int i = 0; i < files.length; i++) {
newFile = new File(ziel, files[i].getName());
if (files[i].isDirectory()) {
copyDir(files[i], newFile);
}
else {
copyFile(files[i], newFile);
}
}
}
}
public void copyFile(File file, File target) throws FileNotFoundException, IOException {
FileChannel in = new FileInputStream(file).getChannel();
FileChannel out = new FileOutputStream(target).getChannel();
in.transferTo(0, file.length(), out);
in.close();
out.close();
}