Du bist nicht angemeldet.

mäx

Anfänger

  • »mäx« ist der Autor dieses Themas

Beiträge: 2

Registrierungsdatum: 09.01.2013

  • Private Nachricht senden

1

30.01.2013, 10:55

JProgressbar bei FTP-Download

Hallo zusammen,

ich hänge mal wieder an einem Problem und zwar der JProgressbar.
Ich lade von einem FTP-Server bestimme .csv Dateien runter, dies funktioniert einwandfrei.
Doch ich brauche eine Statusbar, die mir den verlauf bzw. einen Status des Downloads angibt.

Mit folgendem Code lade ich die Files:

Java-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
	public void FTPDownload() throws IOException{
		names = client.listNames();
		Arrays.sort(names);
	    for (String filename : names) {
        	//System.out.println(names);
    		// filtering files
        	if(filename.startsWith(dateLastmonth) & filename.endsWith(".csv")){
            	System.out.println("Name = " + filename);
            	fos = new FileOutputStream("/Users/max/Desktop/" + filename);
			    System.out.println(filename);
	            final boolean retrieve = client.retrieveFile("/whitebox/" + filename, fos);
	            System.out.println("Retrive: " + retrieve);
        	}		
		}
	    fos.close();
        client.disconnect();
	}



Ich weiß leider absolut nicht wie ich da ran gehen soll :wacko: ?( ... bitte also dringenst um hilfe ;)

grüße
max

Erik

Profi

Beiträge: 1 274

Registrierungsdatum: 22.06.2011

Wohnort: Deutschland ;)

Danksagungen: 307

  • Private Nachricht senden

2

30.01.2013, 14:07

da du mehrere datein downloadest, hast du einen ziemlich vorteil, du kannst die progress bar einfach nach jeder datei anpassen. also vorher einmal die dateigrößen abfragen (sollte ja mit ftp gehen) und dann halt den anteil ausrechnen, den du schon runtergeladen hast. zum ansprechen kommt es auf die struktur deines programms an. das direkteste wäre, der funktion die progress bar als argument zu geben, ist aber sehr unsauber. falls diese funktion in der hauptklaase des programms steht, hast du ja wahrscheinlich eine referenz auf die gui-klasse, diese sollte dann eine art setter-methode haben, der man den wert für die progressbar übergibt. wenn die klasse der funktion keine referenz auf die gui selbst hat, muss sie natürlich eine referenz auf die hauptklasse, welche die gui ansprechen kann, besitzen. dann muss man entweder die gui-referenz von der hauptklasse ansprechen können, oder die gui funktionen müssen von der hauptklasse gemappt werden (was in diesem fall eher nicht so gut ist, also lieber gui per getter zur verfügung stellen).
Beste Webite im Internet ( ͡° ͜ʖ ͡°)
xinra.de