Heim > Java > javaLernprogramm > Hauptteil

Warum generiert meine Java-Dateiübertragung über Sockets eine leere Datei?

Linda Hamilton
Freigeben: 2024-11-04 13:15:01
Original
368 Leute haben es durchsucht

Why is My Java File Transfer Over Sockets Generating an Empty File?

Java-Dateiübertragung über Sockets: Behebung des Problems mit beschädigten Dateien

Ihr Java-Programm zielt darauf ab, eine Datei über Sockets zwischen einem Client und einem Server zu übertragen . Allerdings generiert der Server derzeit eine leere Datei. Um dies zu beheben, überprüfen wir sowohl den Server- als auch den Clientcode.

Servercode:

Beginnend mit dem Servercode entsteht das Problem durch das Lesen der gesamten Dateibytes einmal mit in.read(bytes). Dieser Ansatz erfasst möglicherweise nicht alle Bytes, wenn die Datei groß ist. Stattdessen sollten wir die Bytes in einer Schleife lesen:

<code class="java">int count;
byte[] buffer = new byte[8192]; // or 4096, or more
while ((count = in.read(buffer)) > 0) {
    fos.write(buffer, 0, count);
}</code>
Nach dem Login kopieren

Client-Code:

Als nächstes schreiben Sie im Client-Code nicht wirklich die Dateibytes zum Ausgabestrom. Die Zeile out.write(bytes) sollte verwendet werden:

<code class="java">out.write(bytes);</code>
Nach dem Login kopieren

Mit diesen Änderungen sollte das Programm die Datei wie vorgesehen korrekt senden und empfangen.

Das obige ist der detaillierte Inhalt vonWarum generiert meine Java-Dateiübertragung über Sockets eine leere Datei?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage