Dateien kopieren mit ProgressBar

S.T.O.R.M.

Mitglied
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:

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();
}
 

S.T.O.R.M.

Mitglied
Danke für die Links!

Da ich nicht weiß, wie lange der Prozess dauert, habe ich mich für setIndeterminate entschieden. Das Ganze sieht bei mir jetzt so aus:

Java:
            progress.setIndeterminate(true);
            x.copyDir(quelle, ziel);
            progress.setIndeterminate(false);

Allerdings bleibt der Balken einfach bei Kopiervorgang stehen.. er bewegt sich nicht mehr hin und her. Was muss ich ändern?
 
Zuletzt bearbeitet:
S

SlaterB

Gast
kommt auf das das Gesamtprogramm an,
im FAQ-Link wird besonders darauf hingewiesen, dass die Aktion nebenläufig in einem eigenen Thread stattfinden muss,
in den Beispielen ist es überall korrekt und wenn es im main-Thread selber abläuft,
aus einem ActionListener gestartet wäre aber ohne neuen Thread der AWT-Thread beschäftigt, solange der kopiert wird nichts neu gezeichnet
 

S.T.O.R.M.

Mitglied
Also ich starte alles in einer "ActionPerformed". Dort rufe ich die copy-Methode auf und habe davor die progressbar auf true gesetzt. Anschließened setze ich sie false.
Wo muss ich jetzt was ändern? Habe es aus den Beispielen nicht richtig verstanden. Muss ich mit invokelater etc. arbeiten?!
 
S

SlaterB

Gast
die langandauernde Kopier-Aktion muss in einen separaten Thread

Java:
Runnable r = new Runnable() {
  public void run() {
     // Code
  }
}
new Thread(r).start();


und wenn dann dieser separate Thread GUI-Daten wie den Progress-Status ändern will,
dann sollten diese einzelnen Befehle per invokelater ausgeführt werden, richtig
 
Zuletzt bearbeitet von einem Moderator:
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Java Dateien kopieren mit Fortschrittsbalken AWT, Swing, JavaFX & SWT 13
VPChief Gibt es eine möglichkeit Dateien aus der jar datei zu kopieren? AWT, Swing, JavaFX & SWT 46
frager2345 Bild aus Dateien lesen und als Hintergrund verwenden AWT, Swing, JavaFX & SWT 2
N Dateien einlesen und in GUI immernoch auswählbar AWT, Swing, JavaFX & SWT 1
MiMa File Dateien im ListView als Name anzeigen? AWT, Swing, JavaFX & SWT 6
H JavaFX Media Dateien zu VideoPlayerController senden AWT, Swing, JavaFX & SWT 10
F Output Stream / File Dateien / Speichern AWT, Swing, JavaFX & SWT 13
Z Bearbeitung von csv Dateien AWT, Swing, JavaFX & SWT 13
J JavaFX Wie verhindere ich das gleichzeitige Spielen von Dateien bei Mediaplayer JavaFX? AWT, Swing, JavaFX & SWT 3
E JavaFX Umgang mit SVG-Dateien AWT, Swing, JavaFX & SWT 0
S Swing JFileChooser best. Ordner wie Dateien behandeln AWT, Swing, JavaFX & SWT 4
D Dateien öffnen AWT, Swing, JavaFX & SWT 16
S Swing txt Dateien öffnen mit JFilleChooser AWT, Swing, JavaFX & SWT 4
B Swing Dateien im Swing-GUI anzeigen AWT, Swing, JavaFX & SWT 3
H RCP(SWT) Browser-Widget zeigt keine locale HTML-Dateien an AWT, Swing, JavaFX & SWT 1
E 2D-Grafik Speicherprobleme große Tiff-Dateien AWT, Swing, JavaFX & SWT 50
C 2D-Grafik Steganographie - Verschlüsselung von Dateien in Bildern - Bilder zeigen schwarze Rechtecke AWT, Swing, JavaFX & SWT 13
M Swing Dateien auf Muster analysieren AWT, Swing, JavaFX & SWT 30
J Auf Dateien in JTree zugreifen AWT, Swing, JavaFX & SWT 15
MiMa Dateien aus Ordner in einer JList Ausgeben AWT, Swing, JavaFX & SWT 32
Daniel_L Drop von Dateien auf Frame - welche Drop-Location? AWT, Swing, JavaFX & SWT 2
H * Einlesen von Text-Dateien & Zeichensatz bestimmen AWT, Swing, JavaFX & SWT 2
K JFileChooser mehrere Dateien markieren ohne STRG AWT, Swing, JavaFX & SWT 4
N verschieben von Dateien auf der Festplatte über TreePaths funktioniert nicht AWT, Swing, JavaFX & SWT 10
F AWT DnD von Dateien mit Sonderzeichen funktioniert unter Linux nicht AWT, Swing, JavaFX & SWT 3
B ImageIO gif Dateien laden AWT, Swing, JavaFX & SWT 7
D LayoutManager Main layout auf andere Class Dateien verweisen? AWT, Swing, JavaFX & SWT 17
R Windows-Dateien auf GUI ziehen AWT, Swing, JavaFX & SWT 3
M Swing JTable Drag'n'Drop von Dateien AWT, Swing, JavaFX & SWT 3
T SWT Wie Bilder aus JAR-Dateien einbinden? AWT, Swing, JavaFX & SWT 12
Developer_X Java BMP-Dateien laden AWT, Swing, JavaFX & SWT 2
T Compiler erzeugt mehrere .class Dateien AWT, Swing, JavaFX & SWT 2
K Per ComboBox Dateien einlesen AWT, Swing, JavaFX & SWT 23
G JFileChooser - erkennen v. existierenden Dateien ohne Endung AWT, Swing, JavaFX & SWT 1
I Dateien durchsuchen AWT, Swing, JavaFX & SWT 7
P Dateien per Drag&Drop ins Java-Fenster ziehen AWT, Swing, JavaFX & SWT 8
A Dateien in TextArea ausgeben AWT, Swing, JavaFX & SWT 6
G Dynamische Menüs mit Liste von MRU Dateien AWT, Swing, JavaFX & SWT 2
J Dateien einlesen AWT, Swing, JavaFX & SWT 3
E JList und Drag&Drop von Dateien AWT, Swing, JavaFX & SWT 1
H JFileChooser für alle Dateien und Directories unterhalb AWT, Swing, JavaFX & SWT 7
K SystemIcons v. Dateien & Verz. im TreeView anzeigen AWT, Swing, JavaFX & SWT 2
A JFileChooser - Mehrere Dateien per Maus markieren (nokeys) AWT, Swing, JavaFX & SWT 7
S Probleme beim Laden und Speichern von Dateien AWT, Swing, JavaFX & SWT 6
J Word/Excel-Dateien mit Button öffnen AWT, Swing, JavaFX & SWT 5
O Dateien aus Verzeichnis filtern und in JTable darstellen AWT, Swing, JavaFX & SWT 3
G JFileChooser: nur *.gif-Dateien anzeigen AWT, Swing, JavaFX & SWT 5
EagleEye GUI in mehrere Dateien aufteilen AWT, Swing, JavaFX & SWT 2
izoards Ordner Rekursiv kopieren - Fortschritt? AWT, Swing, JavaFX & SWT 5
E JLabel kopieren AWT, Swing, JavaFX & SWT 31
J SWT Textfeld markieren und kopieren AWT, Swing, JavaFX & SWT 0
F JavaFX textField Ausgabe automatisch kopieren AWT, Swing, JavaFX & SWT 7
L Image in anderes kopieren AWT, Swing, JavaFX & SWT 0
S Swing Style Attribute aus JTextPane kopieren AWT, Swing, JavaFX & SWT 1
S Swing Kopieren einer vollständigen Zeile einer JTable AWT, Swing, JavaFX & SWT 3
F Bilder ineinander kopieren AWT, Swing, JavaFX & SWT 3
D Schnelles kopieren von Pixeln in ein BufferedImage AWT, Swing, JavaFX & SWT 25
GUI-Programmer InputStream zu File kopieren - JPrograssbar anzeigen AWT, Swing, JavaFX & SWT 10
S Bilddatei kopieren, aber ohne verluste und ohne zu großen Speicherverbrauch AWT, Swing, JavaFX & SWT 17
D Applet FTP Ordner kopieren AWT, Swing, JavaFX & SWT 3
P Objekt kopieren AWT, Swing, JavaFX & SWT 2
Landei Swing JTable - Tabellenzeile kopieren AWT, Swing, JavaFX & SWT 2
Daniel_L jEditorPane - Formatierten Text in Zwischenablage kopieren? AWT, Swing, JavaFX & SWT 2
S Inhalt einer JTable kopieren? (GlazedLists) AWT, Swing, JavaFX & SWT 2
H explorer in java - datein kopieren AWT, Swing, JavaFX & SWT 5
M JPanel Inhalt kopieren AWT, Swing, JavaFX & SWT 5
G AbstractTableModel kopieren AWT, Swing, JavaFX & SWT 4
O Panel "kopieren" ? AWT, Swing, JavaFX & SWT 6
H JTable Text aus mehreren Zellen in einer Spalte kopieren? AWT, Swing, JavaFX & SWT 3
E SWT: Tabellen-Inhalt kopieren AWT, Swing, JavaFX & SWT 2
T BufferedImage kopieren AWT, Swing, JavaFX & SWT 3
D Inhalt eines JPanel kopieren AWT, Swing, JavaFX & SWT 7
A Kopieren aus JTextArea nicht zulassen AWT, Swing, JavaFX & SWT 6
R Kopieren in Java AWT, Swing, JavaFX & SWT 2
F Progressbar Farbe AWT, Swing, JavaFX & SWT 6
T Swing Reload JPanel + darin liegende ProgressBar AWT, Swing, JavaFX & SWT 9
A Swing ProgressBar über 2 parallel laufende Threads AWT, Swing, JavaFX & SWT 2
P JavaFx - Progressbar - Füllen mittels mehreren Tasks AWT, Swing, JavaFX & SWT 0
Bluedaishi JavaFX ProgressBar AWT, Swing, JavaFX & SWT 10
T Starten des Programms mit dem Progressbar AWT, Swing, JavaFX & SWT 2
L Progressbar Laufzeitveränderung AWT, Swing, JavaFX & SWT 4
1 Swing Progressbar benutzen um Fortschritt einer Methode anzuzeigen AWT, Swing, JavaFX & SWT 4
B JavaFX Textfields: Fortschritt als ProgressBar und Progressindicator AWT, Swing, JavaFX & SWT 5
MR._FIRE_Flower progressBar in ein bestehendes Programm einbauen AWT, Swing, JavaFX & SWT 3
M Wie binde ich eine JavaFX ProgressBar an eine Datei Übertragung? AWT, Swing, JavaFX & SWT 2
Z Swing Swing und die Progressbar AWT, Swing, JavaFX & SWT 1
I JavaFX Im Controller die ProgressBar mit Task updaten AWT, Swing, JavaFX & SWT 6
R LookAndFeel Wie kann man die Textfarbe der Nimbus ProgressBar nach Füllstand ändern? AWT, Swing, JavaFX & SWT 2
M JavaFX Progressbar bar und track Komponente zur Laufzeit ändern AWT, Swing, JavaFX & SWT 2
Z ProgressBar in Eclipse mit Wizard page? AWT, Swing, JavaFX & SWT 1
W Swing ProgressBar update AWT, Swing, JavaFX & SWT 4
A JavaFX Eine Task mit einer ProgressBar verbinden AWT, Swing, JavaFX & SWT 0
H Nimbus ProgressBar Colors AWT, Swing, JavaFX & SWT 9
P Swing Die ProgressBar wird nicht angezeigt AWT, Swing, JavaFX & SWT 5
B SWT Progressbar mit Textoverlay? AWT, Swing, JavaFX & SWT 3
M ProgressBar in ActionListener AWT, Swing, JavaFX & SWT 4
T Prozessstatus in Progressbar anzeigen AWT, Swing, JavaFX & SWT 5
J Swing Progressbar aktualisiert sich nicht AWT, Swing, JavaFX & SWT 17
V Persistentes Objekt laden Progressbar AWT, Swing, JavaFX & SWT 7
V Swing Progressbar Problem AWT, Swing, JavaFX & SWT 14

Ähnliche Java Themen

Neue Themen


Oben