![]() |
| | Themen-Optionen | Thema durchsuchen |
| | Nach oben #1 |
| Corvin Gröning Registriert seit: 19.03.2005 Ort: S-H | Flensburg
Beiträge: 459
|
Ich bastel gerade an einem Tool, welches mir Dateien kopiert. Dazu soll der Fortschritt in einem ProgressMonitor angezeigt werden: Code: [...]
monitor = new ProgressMonitor(parent, "Loading Progress", "...", 0,(int) (folderSize/1024));
progress = 0;
monitor.setMillisToDecideToPopup(0);
monitor.setMillisToPopup(0);
[...]
// schleife..
progress += (int) file.length()/1024;
monitor.setProgress(progress);
monitor.setNote(progress + " kb of" + folderSize/1024 + " kb done");
copyFile(file, new File(ziel.getAbsolutePath() + System.getProperty("file.separator") + file.getName()));
// ende schleife
[...]
Nach dem starten des Kopiervorgangs: ![]() Wenn alle Dateien kopiert wurden: ![]() Was muss ich machen, damit von Anfang an der Fortschritt angezeigt wird?
__________________ |
| | |
| | Nach oben #2 |
| Projektleiter Registriert seit: 30.11.2005 Ort: Bottrop
Beiträge: 1.135
|
Du musst den Kopiervorgang außerhalb des EDTs starten. Soll heißen: Code: monitor = new ProgressMonitor(parent, "Loading Progress", "...", 0,(int) (folderSize/1024));
progress = 0;
monitor.setMillisToDecideToPopup(0);
monitor.setMillisToPopup(0);
[...]
runner = new Thread() {
public void run() {
// schleife..
SwingUtilities.invokeLater(new Runnable() {
public void run() {
progress += (int) file.length()/1024;
monitor.setProgress(progress);
monitor.setNote(progress + " kb of" + folderSize/1024 + " kb done");
}
});
copyFile(file, new File(ziel.getAbsolutePath() + System.getProperty("file.separator") + file.getName()));
// ende schleife
}
};
runner.start();
__________________ Patrick Gotthardts Weblog. |
| | |
| | Nach oben #3 | |
| Corvin Gröning Registriert seit: 19.03.2005 Ort: S-H | Flensburg
Beiträge: 459
|
So hab ich das jetzt: Code: Thread runner = new Thread() {
public void run() {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
progress += (int) file.length()/1024;
monitor.setProgress(progress);
monitor.setNote(progress + " kb of" + folderSize/1024 + " kb done");
}
});
try {
copyFile(file, new File(ziel.getAbsolutePath() + System.getProperty("file.separator") + file.getName()));
} catch (FileNotFoundException ex) {
Logger.getLogger(CopyDirectory.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(CopyDirectory.class.getName()).log(Level.SEVERE, null, ex);
}
}
};
runner.start();
[...]
public void copyFile(File file, File ziel) throws FileNotFoundException, IOException {
//System.out.println("Copy " + file.getAbsolutePath() + " to " + ziel.getAbsolutePath());
in = new BufferedInputStream(new FileInputStream(file));
out = new BufferedOutputStream(new FileOutputStream(ziel, true));
int bytes = 0;
while ((bytes = in.read()) != -1) {
out.write(bytes);
}
in.close();
out.close();
}
Zitat:
Wo genau liegt das Problem? Eine Google-Suche nach der Fehlermeldung hat mich nicht weitergebracht.
__________________ | |
| | |
| | Nach oben #4 |
| Projektleiter Registriert seit: 30.11.2005 Ort: Bottrop
Beiträge: 1.135
|
Nen Fehler seh ich da auch nicht. Einzig die Art, wie du die Zieldatei bestimmt, ist verbesserungswürdig: Code: copyFile(file, new File(ziel, file.getName())); Mein Beispiel war eigentlich so gedacht, dass du für den kompletten Kopiervorgang nur einen Thread verwendest. Bei dir sieht es so aus, als ob du bei jedem Schleifendurchlauf einen neuen Thread starten würdest. Das geht im Prinzip auch, du bekommst aber eben Probleme wenn file und ähnlich sich verändert.
__________________ Patrick Gotthardts Weblog. |
| | |
| | Nach oben #5 | |
| Corvin Gröning Registriert seit: 19.03.2005 Ort: S-H | Flensburg
Beiträge: 459
| Zitat:
__________________ | |
| | |
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | Thema durchsuchen |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Was passiert mit einem Objekt am Ende des Skripts? | Jan | PHP-Programmierung | 5 | 02.11.2007 07:39 |
| Textumbruch erst am ende des containers | Doggi | HTML, XML und CSS | 12 | 28.10.2005 07:15 |
| Pong Klon | hii | Allgemeine Java-Programmierung | 0 | 07.08.2005 08:25 |