Hey
hab ein kleines Problem, ich würde gerne wie unten angegeben eine Methode zum download von Dateien in ein OnlineDatei System integrieren. Was Cloud mäßiges aber ne ganze ecke einfacher...
Funktioniert prima nur das ich ausserhalb der Console nicht sehe wieviel ich gerade runtergeladen habe ... imo eigentlich nicht so schlimm da ich nur kleine pdfs rumliegen habe aber sollte doch iwann richtig Funktionieren.
Also was ich versucht habe anstelle von:
würde ich gerne was wie
machen.
tuts aber leider nicht :/ hab es so auch mit threads versucht, Wobei meine GUI ein thread ist den ich unter Main starte und meine download Funktion der 2te Thread die ich in einem ActionListener der GUI klasse Starte.
tat es aber auch nicht.
Hat hier wer evtl. einen Vorschlag wie ich mir meinen Download Status in der Gui anzeigen lassen kann?
hab ein kleines Problem, ich würde gerne wie unten angegeben eine Methode zum download von Dateien in ein OnlineDatei System integrieren. Was Cloud mäßiges aber ne ganze ecke einfacher...
Funktioniert prima nur das ich ausserhalb der Console nicht sehe wieviel ich gerade runtergeladen habe ... imo eigentlich nicht so schlimm da ich nur kleine pdfs rumliegen habe aber sollte doch iwann richtig Funktionieren.
Also was ich versucht habe anstelle von:
System.out.println(String.format("%d bytes gegalden", x));
würde ich gerne was wie
Java:
GUI gui = new GUI();
gui.setLabel1(String.format("%d bytes gegalden", x));
gui.rePaint();
tuts aber leider nicht :/ hab es so auch mit threads versucht, Wobei meine GUI ein thread ist den ich unter Main starte und meine download Funktion der 2te Thread die ich in einem ActionListener der GUI klasse Starte.
tat es aber auch nicht.
Hat hier wer evtl. einen Vorschlag wie ich mir meinen Download Status in der Gui anzeigen lassen kann?
Java:
public class loader{
public void download(String url_str, OutputStream os)
throws IllegalStateException, MalformedURLException,
ProtocolException, IOException {
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.connect();
int responseCode = conn.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {
byte tmp_buffer[] = new byte[4096];
InputStream is = conn.getInputStream();
int n,x=0;
while ((n = is.read(tmp_buffer)) > 0) {
os.write(tmp_buffer, 0, n);
os.flush();
x+=n;
System.out.println(String.format("%d bytes gegalden", x));
}
} else {
throw new IllegalStateException("HTTP response: " + responseCode);
}
}