P
peedee
Gast
Hi, ich habe folgendes Problem:
das Programm soll mehrere Dateien (Binärdateien) runterladen und zusammenfügen (in der Datei temp.zip). Das funktioniert aber nicht wirklich, obwohl die Datei danach auch die richtige Größe hat. Nur ich weiß nicht, warum..
Wenn ich die Dateien einzeln runterlade und dann mit copy D1 + D2 + .. zursammenfüge, funktioniert es!
peedee
das Programm soll mehrere Dateien (Binärdateien) runterladen und zusammenfügen (in der Datei temp.zip). Das funktioniert aber nicht wirklich, obwohl die Datei danach auch die richtige Größe hat. Nur ich weiß nicht, warum..
Wenn ich die Dateien einzeln runterlade und dann mit copy D1 + D2 + .. zursammenfüge, funktioniert es!
peedee
Code:
Text_Protokoll.setText("");
URL dl = null;
try { dl = new URL(Text_Hyperlink.getText()); }
catch (MalformedURLException ex) { Text_Protokoll.setText("Fehler: Kein Hyperlink!"); return; }
Text_Protokoll.setText("Beginne mit dem Download..\n");
String Dateiname = Text_Hyperlink.getText();
int Anzahl = Integer.parseInt(Dateiname.substring(Dateiname.length() -3));
Dateiname = Dateiname.substring(0,Dateiname.length() -3);
Text_Protokoll.append("Extrahiere Dateinamen: " + Dateiname + "\n");
Text_Protokoll.append("Extrahiere Anzahl Dateien: " + Anzahl + "\n");
FileWriter fw = null;
try { fw = new FileWriter("temp.zip"); }
catch (IOException ex2) { Text_Protokoll.setText("Fehler: Kann Datei nicht anlegen!"); }
HttpURLConnection conn = null;
int i = 1; String tURL = "";
try {
while (i != Anzahl + 1) {
if (i >= 100) {tURL = Dateiname + i;}
if (i < 100) {tURL = Dateiname + "0" + i;}
if (i < 10) {tURL = Dateiname + "00" + i;}
Text_Protokoll.append(tURL + "..");
conn = (HttpURLConnection)new URL(tURL).openConnection();
InputStream is = conn.getInputStream();
StringBuffer rss = new StringBuffer();
int len;
byte[] b = new byte[1024];
while ( (len = is.read(b)) != -1) {
rss.append(new String(b,0, len));
}
fw.write(rss.toString());
fw.flush();
conn.disconnect();
Text_Protokoll.append("ok\n");
i = i + 1;
}}
catch (IOException ex1) { Text_Protokoll.append("Fehler!!!\n"); return; }
try { fw.close(); } catch (IOException ex3){ return; }
Text_Protokoll.append("Fertig :-)\n");
Toolkit.getDefaultToolkit().beep();