Fehler bei PDF-Download

C

const82

Gast
Hallo Leute,
ich habe folgendes Problem. Ich will mit meinem kleinen Stück Quellcode von Zeit zu Zeit eine PDF herunterladen. Er lädt sie auch herunter. Sie ist dann allerdings fehlerhaft oder unvollständig und ich bekomme beim öffnen je nach pdf (habe mehrere versucht) andere Fehlermeldung. Eben zum Beispiel, dass die Datei fehlerhaft oder unvollständig ist oder auch mal das ihm eine Schrift fehlt.

Hat jemand einen Tip für mich?

Java:
int size = 1024;

String url = "http://www.irgendeine-url.de/pdf-datei.pdf";
BufferedInputStream in = new java.io.BufferedInputStream(new java.net.URL(url).openStream());
FileOutputStream fout = new java.io.FileOutputStream("test.pdf");
BufferedOutputStream out = new BufferedOutputStream(fout, size);
byte data[] = new byte[size];
            
while (in.read(data, 0, size) >= 0) {
     out.write(data);
}

out.close();
in.close();

Vielen Dank schonmal.
 
S

SlaterB

Gast
wenn du ganze Arrays schreibst und liest kannst du dir BufferStreams jeweils sparen,
die bringen vor allem etwas wenn jedes Byte einzeln durchgeleitet wird, was in deinem Fall wohl den Fehler verhindern würde,
aber allgemein nicht unbedingt das Ziel ist

dein Problem ist hier, dass du immer das komplette Array schreibst, obwohl es in 99.9% aller Fälle ganz am Ende nicht genau mit 1024 neuen Werten befüllt wird, im hinteren Teil des Arrays stehen noch Daten vom vorherigen Durchlauf,
auch 0-Standardwerte wären kaum besser,
du musst dir den Rückgabewert des read()-Aufrufs merken und beim write verwenden, damit nur genau soviel geschrieben wird wie auch gelesen

zu finden in jedem Beispiel mit Streams, Array und Schleife..
Copying One File to Another | Example Depot
 

Michael...

Top Contributor
Die read Methode befüllt das byte Array
Code:
data
nicht unbedingt komplett, dadurch werden u.U. zuviele und fehlerhafte Bytes in die Datei geschrieben.
Allerdings liefert die read Methode als Rückgabewert die Anzahl der gelesenen Bytes, mit dieser musst Du dann beim Schreiben die Anzahl der zu schreibenden Bytes eingrenzen.
 
C

const82

Gast
Meintet ihr so?

Java:
int size = 1024;

String url = "http://www.irgendeine-url.de/pdf-datei.pdf";
BufferedInputStream in = new java.io.BufferedInputStream(new java.net.URL(url).openStream());
FileOutputStream fout = new java.io.FileOutputStream("test.pdf");
BufferedOutputStream out = new BufferedOutputStream(fout, size);
byte data[] = new byte[size];
int len;
while ((len = in.read(data)) >= 0) {
   out.write(data, 0, len);
}

out.close();
in.close();
 
S

SlaterB

Gast
ein (evtl.) erfolgreicher Test mit einer vorher kaputt gespeicherten Datei würde dir das nicht beantworten?
 


Schreibe deine Antwort... und nutze den </> Button, wenn du Code posten möchtest...
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Threads/Server/telnet Fehler Netzwerkprogrammierung 2
X Netty TLS Authentifizierung Fehler Netzwerkprogrammierung 1
OnDemand API Aufruf besser steuern, wie Fehler vermeiden Netzwerkprogrammierung 20
V Ich finde den Fehler nicht... Netzwerkprogrammierung 2
A sporadischer Fehler beim Schreiben auf NAS Netzwerkprogrammierung 2
K Socket Netty Client wirft Fehler! Netzwerkprogrammierung 3
F HTTP Website parsen Fehler 403 Netzwerkprogrammierung 2
M Socket Verschlüsselte Kommunikation - Fehler Netzwerkprogrammierung 1
M Wo ist mein Fehler ? o: Netzwerkprogrammierung 4
D Komischer Fehler Readline() Netzwerkprogrammierung 7
CookieSoft Fehler bei Socket Netzwerkprogrammierung 4
B RMI & Mysql -> Fehler bei der Compilierung Netzwerkprogrammierung 4
M ActiveMQ Anfänger-Fehler Netzwerkprogrammierung 3
N Socket Fehler bei Streams Netzwerkprogrammierung 2
F Socket ImageIcon über Socket --> Fehler Netzwerkprogrammierung 14
M chat als applet umgeschrieben - unbekannter fehler :( Netzwerkprogrammierung 2
B Socket Daten empfangen funktioniert nicht richtig - wo liegt der Fehler? Netzwerkprogrammierung 7
L NullPointerException...finde den Fehler nicht Netzwerkprogrammierung 10
E einfache Frage: wie Fehler untersuchen mit Tomcat Netzwerkprogrammierung 5
R Fehler bei RMI in Verbidung mit JDBC Netzwerkprogrammierung 6
L RMI Programm beendet ohne Fehler sofort nach Start (Windows 2000) Netzwerkprogrammierung 7
R Server - Client - Fehler? Netzwerkprogrammierung 3
M SOAP Messaging Fehler Netzwerkprogrammierung 10
J RMI Fehler beim Proxy Netzwerkprogrammierung 2
B Fehler 401 bei http GET Netzwerkprogrammierung 2
H RMI Fehler: access denied Netzwerkprogrammierung 10
J Vom BufferedReader lesen -> hängt ohne Fehler,ohne Except Netzwerkprogrammierung 2
C irc client: Fehler 451 Netzwerkprogrammierung 12
G Heimnetzwerkchatprogramm: Fehler im Code Netzwerkprogrammierung 11
J Datei Download vom Server Netzwerkprogrammierung 8
P Jenkins Login per Java Download Manager Netzwerkprogrammierung 15
T Download überprüfung... Netzwerkprogrammierung 9
S HTTP Download von Google-URL mit Parametern Netzwerkprogrammierung 1
S download PDF Netzwerkprogrammierung 2
V Datei Download Fenster Netzwerkprogrammierung 9
R Apache HttpClient File Download? Netzwerkprogrammierung 3
K HTTP Eigener Http Response für Datei-Download Netzwerkprogrammierung 4
F HTTP HTTP-Download: Dateien in einem Verzeichnis ermitteln Netzwerkprogrammierung 8
T Download Programm - Download endet vorzeitig (bricht ab) Netzwerkprogrammierung 11
D HTTP Download - Skript im Weg Netzwerkprogrammierung 4
B FTP *.class download Netzwerkprogrammierung 2
eLogic Download eines Links Netzwerkprogrammierung 2
Dit_ FTP Download | "PassiveMode"-Socket öffnen Netzwerkprogrammierung 4
B HTTP Audio-Download per Direktlink Netzwerkprogrammierung 4
eLogic Download aus Internet Netzwerkprogrammierung 18
M Download von Webseite Netzwerkprogrammierung 4
A RMI Fortschritt bei Up/Download anzeigen Netzwerkprogrammierung 6
T Up- und Download mit https Netzwerkprogrammierung 14
A HTTP Download einer Datei mit "Statistiken" Netzwerkprogrammierung 2
B HTTP PDF Servlet download vom Server zum Client Netzwerkprogrammierung 3
Ollek Download einer Datei durch SFTP mit Java Netzwerkprogrammierung 12
P Name der Download-Datei ermitteln Netzwerkprogrammierung 8
Schandro Download von FTP Server mit maximal Geschwindigkeit Netzwerkprogrammierung 2
P HTTP Problem beim Download von einer Datei Netzwerkprogrammierung 4
ModellbahnerTT Download progress Netzwerkprogrammierung 4
D FTP Download Netzwerkprogrammierung 5
N Video download Netzwerkprogrammierung 4
hdi Webseite auf Download-Links prüfen und Download starten? Netzwerkprogrammierung 7
C Download-Fortschritt wird falsch angezeigt. Netzwerkprogrammierung 2
E Größe der Datei vor Download ermitteln Netzwerkprogrammierung 3
B FTP - Verzeichnis Download Netzwerkprogrammierung 3
A Download-Client Netzwerkprogrammierung 6
A download programm Netzwerkprogrammierung 2
K http-download Netzwerkprogrammierung 12
2 Redirect, Login und Download bei Rapidshare.com Netzwerkprogrammierung 4
L file upload / download über http Netzwerkprogrammierung 5
M Download über URL Netzwerkprogrammierung 7
B knacken bei download von mp3 datei Netzwerkprogrammierung 2
N Download HTTP .php-Seite mit Anmeldung Netzwerkprogrammierung 5
I rmi und download von klassen Netzwerkprogrammierung 12
M Download-Manager in System/Browser einbinden Netzwerkprogrammierung 11
G file download über https mit p12 Zertifikat Netzwerkprogrammierung 4
P Download funtioniert nicht richtig. Netzwerkprogrammierung 2
M FTP Verbindung und download von *.txt Netzwerkprogrammierung 6

Ähnliche Java Themen

Neue Themen


Oben