Hallo,
Ich habe ein kleines Problem beim übertragen von Dateien über Sockets und würde mich freuen wenn ihr mir helfen könntet:
Mein Code zum Senden:
Die variable objectWriter ist ein ObjectOutputStream, das File file wird übergeben
Mein Code zum Empfangen:
ois ist ein ObjectInputStream
Problembeschreibung:
Textdateien kann ich ohne Probleme übertragen, die Datei ist vollständig und unbeschädigt
Wenn ich allerdings versuche ein Bild zu übertragen ist die Datei beschädigt und ich kann sie nicht öffnen.
Info:
Ich verwende den ObjectStreams weil ich auch SerialisierteObjekte über den selben Socket sende.
Ich würde mich über eure Hilfe freuen
Stefan
Ich habe ein kleines Problem beim übertragen von Dateien über Sockets und würde mich freuen wenn ihr mir helfen könntet:
Mein Code zum Senden:
Java:
long fileSize = file.length();
int stepSize = 200000;
long completed = 0;
byte[] buffer = new byte[stepSize];
FileInputStream fis = new FileInputStream(file);
while(completed<=fileSize){
fis.read(buffer);
objectWriter.write(buffer);
completed+=stepSize;
}
objectWriter.flush();
Mein Code zum Empfangen:
Java:
long completed = 0;
int stepSize = 320000;
byte[] buffer = new byte[stepSize];
try {
FileOutputStream fos = new FileOutputStream(fileName);
while(completed<=fileSize){
ois.read(buffer);
fos.write(buffer);
completed+=stepSize;
}
fos.close();
System.out.println("Completed\n");
} catch (Exception ex) {
System.out.println(ex);
}
Problembeschreibung:
Textdateien kann ich ohne Probleme übertragen, die Datei ist vollständig und unbeschädigt
Wenn ich allerdings versuche ein Bild zu übertragen ist die Datei beschädigt und ich kann sie nicht öffnen.
Info:
Ich verwende den ObjectStreams weil ich auch SerialisierteObjekte über den selben Socket sende.
Ich würde mich über eure Hilfe freuen
Stefan