Hallo.
Habe mir eine kleine Klasse zum Dateidownload geschrieben:
Leider funtkioniert das ganze nicht so ganz.
Habe Local einen XAMPP-Laufen und eine .jar-Datei in den htdocs-Ordner geschoben. Die .jar läuft einwandfrei.
Nach dem Download ist die Datei zwar noch exaxt so groß wie die Original-Datei, allerdings bekomme ich folgenden Fehler beim Starten:
Hat jemand eine Idee?
Edit: Bin grade auf http://www.java-forum.org/allgemeine-java-themen/82758-dateidownload-java.html gestoßen, und mit den 1024Byte-Chunks funktioniert es. Frage mich dennoch, warum meine Variante nicht funktioniert hat...
Habe mir eine kleine Klasse zum Dateidownload geschrieben:
Java:
private void dowloadFile(String from, File to) {
HttpURLConnection localHttpURLConnection = null;
File outputFile = to;
try {
if (outputFile.exists())
outputFile.delete();
if (!outputFile.getParentFile().exists())
outputFile.getParentFile().mkdirs();
outputFile.createNewFile();
URL localURL = new URL(from);
localHttpURLConnection = (HttpURLConnection) localURL
.openConnection();
localHttpURLConnection.setRequestMethod("POST");
localHttpURLConnection.setRequestProperty("Content-Type",
"application/x-www-form-urlencoded");
localHttpURLConnection.setRequestProperty("Content-Length", "0");
localHttpURLConnection.setRequestProperty("Content-Language",
"en-US");
localHttpURLConnection.setUseCaches(false);
localHttpURLConnection.setDoInput(true);
localHttpURLConnection.setDoOutput(true);
localHttpURLConnection.connect();
DataOutputStream localDataOutputStream = new DataOutputStream(
localHttpURLConnection.getOutputStream());
localDataOutputStream.flush();
localDataOutputStream.close();
InputStream localInputStream = localHttpURLConnection
.getInputStream();
BufferedReader localBufferedReader = new BufferedReader(
new InputStreamReader(localInputStream));
int tmp;
FileWriter outputFileWriter = new FileWriter(outputFile);
while ((tmp = localBufferedReader.read()) != -1) {
outputFileWriter.write(tmp);
patchedBytes++;
}
localBufferedReader.close();
outputFileWriter.close();
localHttpURLConnection.disconnect();
return;
} catch (Exception localException) {
localException.printStackTrace();
return;
} finally {
if (localHttpURLConnection != null)
localHttpURLConnection.disconnect();
}
}
Leider funtkioniert das ganze nicht so ganz.
Habe Local einen XAMPP-Laufen und eine .jar-Datei in den htdocs-Ordner geschoben. Die .jar läuft einwandfrei.
Nach dem Download ist die Datei zwar noch exaxt so groß wie die Original-Datei, allerdings bekomme ich folgenden Fehler beim Starten:
Caused by: java.util.zip.ZipException: invalid block type
at java.util.zip.InflaterInputStream.read(Unknown Source)
at sun.misc.Resource.getBytes(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
... 7 more
Hat jemand eine Idee?
Edit: Bin grade auf http://www.java-forum.org/allgemeine-java-themen/82758-dateidownload-java.html gestoßen, und mit den 1024Byte-Chunks funktioniert es. Frage mich dennoch, warum meine Variante nicht funktioniert hat...
Zuletzt bearbeitet: