Stream unvollständig

Status
Nicht offen für weitere Antworten.

mrnice76

Mitglied
Hi!
Der Input/Output ist unvollständig, d.h. dieDatei, die Ziel des Outputstreams ist, empfängt nicht alle Bytes...
Weiß jemand, wo die verloren gehen?
Und vorallem, wie ich letztendlich den gesamten InputStream der HttpUrlConnection in eine Datei schreiben kann?

Code:
HttpURLConnection con = (HttpURLConnection) new URL(
				"http://www.irgendwas.de" )
				.openConnection();

		con.setRequestProperty("User-Agent:",
				"Mozilla/5.0 (compatible; Konqueror/3.2; Linux 2.6.2) (KHTML, like Gecko)");

		BufferedInputStream in = new BufferedInputStream(con
				.getInputStream());
		BufferedOutputStream out = new BufferedOutputStream(
				new FileOutputStream(outputHTML));
		int bytesRead = 0;
		int fileSize = in.available()+2000;
		byte[] buffer = new byte[fileSize];

		while ((bytesRead = in.read(buffer)) > 0) {
			out.write(buffer, 0, fileSize);

		}
		;
		
		out.flush();
		out.close();
		in.close();


Außerdem ist die formatierung der HTML Quelle futsch -
Wenn ich mit Scanner aus java.util arbeite, fehlt irgendwie was in der Mitte vom HTMLSourcecode, die Formatierung ist aber normal...
Kann man die Bytes irgendwie so umwandeln, damit letztenlich der Ursprüngliche Quelltext (so wie er z.B. im Firefox angezeigt wird) in der Datei steht?

Danke schonmal!
 
G

Guest

Gast
Allein bei dem Titel und der nicht wirklich vorhanden Fragestellung habe ich schon gar keine Lust zu antworten.
 

mikachu

Top Contributor
das mit dem in.available() gibt nicht die größe der datei zurück, sondern nur, wieviele bytes grade verfügbar sind.

zweiteres, wozu brauchst du die variable bytesRead, wenn du die nie abfragst?

probier mal folgendes:
Code:
while ((bytesRead = in.read(buffer)) > 0)
{ 
    out.write(buffer, 0, bytesRead); 
}

mit in.read(buffer) kriegst du die anzahl der tatsächlich gelesenen bytes zurück, welche du dann aus dem puffer in den ausgabestrom schreibst.

#edit 1:
wenn du immer den ganzen puffer in den ausgabestrom lenkst, ist es klar, wenn der puffer nicht vollständig gefüllt war, dass die datei auch nicht so konform gestaltet hinten raus kommt, da ja einige leere puffer-bytes möglich sind. also es können lücken entstehen!

#edit 2:
siehe )]hier (BufferedInputStream ist von FilterInputStream abgeleitet)
 

HoaX

Top Contributor
du solltest diene abfrage von >0 auf != -1 umändern - siehe javadoc. wenn die gegenseite langsamer sendet als du empfängst und schreibst kann durchaus auch mitten in der übertragung mal 0 zurück kommen, wo du dann fälschlicherweise abbricht.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
LimDul Suche Java Stream Tutorial Java Basics - Anfänger-Themen 2
W Stream und LocalDate Java Basics - Anfänger-Themen 15
M Stream mit den ersten n natürlichen Zahlen Java Basics - Anfänger-Themen 4
berserkerdq2 Wo ist der SInn, dass man den Stream, den ich zum Schreiben nutze, outputstream nenne? Java Basics - Anfänger-Themen 5
berserkerdq2 Wann soll ich den Stream schließen, wenn ich das in einer Methode habe? Java Basics - Anfänger-Themen 8
K Erste Schritte Stream-Aufruf vereinfachen Java Basics - Anfänger-Themen 3
I Datei als Stream aus Ressource laden? Java Basics - Anfänger-Themen 2
O Alternative zu Stream.forEach() Java Basics - Anfänger-Themen 6
Dimax stream in string[] speichern Java Basics - Anfänger-Themen 6
S Java Stream API Java Basics - Anfänger-Themen 6
A Stream Java Basics - Anfänger-Themen 14
N String N-Gramme mit Stream erstellen Java Basics - Anfänger-Themen 7
T Buffered Stream leert Txt File Java Basics - Anfänger-Themen 3
A Textdatei mit stream einlesen Java Basics - Anfänger-Themen 2
B Text-Datei nur in Stream speichern und dann ausgeben Java Basics - Anfänger-Themen 3
J Gefilterten Stream über die Konsole ausgeben Java Basics - Anfänger-Themen 1
J Count und Copy in Stream<Path> Java Basics - Anfänger-Themen 11
W for Schleife in allgemeingültiges Konstrukt aus Stream und Lambdas Java Basics - Anfänger-Themen 6
W Stream Array List - Frage Java Basics - Anfänger-Themen 5
G refactoring mit stream Java Basics - Anfänger-Themen 27
P Java Verketten von Stream - Bedeutung der Anweisungen? Java Basics - Anfänger-Themen 3
nightsky_ Methoden (Stream) Collectors.toMap() Java Basics - Anfänger-Themen 2
W HTTP-Stream auf Ajax umbauen Java Basics - Anfänger-Themen 7
elischa Client-Server IO und Stream Steuerung ? Java Basics - Anfänger-Themen 2
N Eigene Stream Methoden implementieren Java Basics - Anfänger-Themen 3
M Panel erstellen, welches ein Control erhält. Ausgabe soll über einen Stream erfolgen. Java Basics - Anfänger-Themen 0
E Stream closed - Obwohl nicht manuell geschlossen! Java Basics - Anfänger-Themen 0
N Java.io.ioexception: Stream closed Java Basics - Anfänger-Themen 2
P Wann Byte-Stream und wann Character-Stream? Java Basics - Anfänger-Themen 11
S Input/Output nullpointerException beim schliessen von stream Java Basics - Anfänger-Themen 3
A Integer aus Stream to Double Java Basics - Anfänger-Themen 7
P Java Stream, wann welche Stream verwenden? Java Basics - Anfänger-Themen 3
M Java Stream?! Java Basics - Anfänger-Themen 8
S Input/Output Data-Input/Output-Stream Java Basics - Anfänger-Themen 2
V Jar-Datei von Byte-Array oder Stream laden? Java Basics - Anfänger-Themen 9
J Input/Output Auf effiziente Weise einen Stream auszulesen Java Basics - Anfänger-Themen 5
M Stream close Java Basics - Anfänger-Themen 6
A Prüfen ob Datei geöffnet ist bzw Stream finden Java Basics - Anfänger-Themen 2
H exception "java.io.IOException: Stream closed" Java Basics - Anfänger-Themen 10
Burny91 File.delete(file) geht nicht-Offener Stream aber WO? Java Basics - Anfänger-Themen 4
M Audio Stream läuft auf :connection abort: socket write error Java Basics - Anfänger-Themen 2
H Fehler-Stream grafisch umsetzen Java Basics - Anfänger-Themen 4
H Datentypen Byte-Array aus Stream lesen Java Basics - Anfänger-Themen 3
S Fehler beim Speichern von MP3-Stream Java Basics - Anfänger-Themen 6
bambi0815 Text Datei Stream to Char[][] Java Basics - Anfänger-Themen 7
D JSP: IOException: Stream closed nach dispatchter.forward(..) Java Basics - Anfänger-Themen 13
G Warum bei Stream close() aufrufen. Java Basics - Anfänger-Themen 12
G NoClassDefFoundError: javax/xml/stream/XMLStreamException Java Basics - Anfänger-Themen 23
P Stream Java Basics - Anfänger-Themen 4
alexpetri javax.xml.stream.* nicht gefunden Java Basics - Anfänger-Themen 3
Zed Stream in Variable speichern. Java Basics - Anfänger-Themen 3
M Input/Output Stream aus einem String Java Basics - Anfänger-Themen 2
S Schreib Stream Java Basics - Anfänger-Themen 21
M Stream in String umwandeln Java Basics - Anfänger-Themen 5
K datei komplett als Stream oder ähnliches Java Basics - Anfänger-Themen 4
A Serialisierbarer Stream? - File per RMI versenden Java Basics - Anfänger-Themen 4
R Binary Stream in Bild umwandeln Java Basics - Anfänger-Themen 5
C Position im Objekt-Stream Java Basics - Anfänger-Themen 2
M Ausgabe in String anstatt auf Stream Java Basics - Anfänger-Themen 17
C Stream-Konzept Java Basics - Anfänger-Themen 2
A von Socket-Stream lesen Java Basics - Anfänger-Themen 4
D Input/Output CSV Parser list unvollständig Java Basics - Anfänger-Themen 25
T Client-Fenster bei Aufruf unvollständig Java Basics - Anfänger-Themen 12
A Textfile wird nur unvollständig eingelesen Java Basics - Anfänger-Themen 4
G Erstellungspfad unvollständig Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben