FileDownload unvollständig

Maik20

Erfahrenes Mitglied
Hallo,

ich nutze folgenden Code für einen FileDownload:

Code:
public boolean download(String address, String localFileName) throws IOException {
		boolean ret = false;
		OutputStream out = null;
		URLConnection conn = null;
		InputStream  in = null;
		URL url = new URL(address);
		out = new BufferedOutputStream(new FileOutputStream(localFileName));
		conn = url.openConnection();
		
		if (proxy.equalsIgnoreCase("true") && (proxyuser.length()>0 || proxypass.length()>0)){
			conn.setRequestProperty(
		        	"Proxy-Authorization", 
		        	"Basic " + new sun.misc.BASE64Encoder().encode(
		        		( proxyuser + ":" + proxypass).getBytes()
		        	)
		        );
		}

		uf.getProgessBar().setValue(0);
		uf.getProgessBar().setMaximum(conn.getContentLength());
		
		in = conn.getInputStream();
		byte[] buffer = new byte[1024];
		int numRead;
		long numWritten = 0;
		while ((numRead = in.read(buffer)) != -1) {
			out.write(buffer, 0, numRead);
			numWritten += numRead;
			uf.getProgessBar().setValue((int)numWritten);
		}
		System.out.println(localFileName + "\t" + numWritten);
		return true;
	}

Klappt grundsätzlich wunder. Jedoch wird eine bestimmte ZIP-Datei nicht vollständig heruntergelande. Die Datei ist eigentlich 548kb groß, es komme nur 542 - 545 kb an (daher kann ich die Datei nicht entzippen). Der Code wirft keine Exception.

Ich habe das ganze mehrfach (ca. 20 mal) getestet. Diese ZIP-Datei liegt auf mehreren URLs. Alle mir bekannten URLs habe ich ausprobiert (alle mehrfach!) jedoch immer mit dem gleichen Ergebnis. Datei unvollständig.

Wenn ich eine der URLs in den Browser Tippe geht das "Speichern unter"-Fenster auf. Speichere ich die Datei ist Sie komplett und ich kann Sie problemlos entzippen.

Sieht hier irgendjemand etwas was ich übersehe? Oder hat jemand eine Idee wie ich das Problem lösen oder erstmal identifizieren kann?

Edit:
Ganz vergessen, hier mal eine URL zum testen:
http://www.trudyholler.com/extras/razor/lame/lame-3.92.zip
 
Zuletzt bearbeitet:
Zurück