# Datein von Windows nach Mac senden



## quiqum (31. Mrz 2009)

Hallo Leute!

Ich habe zwei kleine Programme programmiert mit denen ich Dateien übertragen kann. Das funktioniert, solange ich die Dateien von Mac nach Mac übertrage, aber nicht, wenn ich von Windows nach Mac übertrage. 

Folgendes vorgehen, um eine Datei zu senden:
1. FileReader
2. Socket mit OutputStream
3. Datei umgewandelt. Dass heisst, jedes Byte wird eingelesen und davon der INT Wert genommen und übertragen.Die einzelnen INT Werte werden als String übertragen und mit "/" werden die einzelnen INTs abgetrennt.

Der Server:
4. Der Server liest die INT's ein und wandelt den INT Wert wieder in ein char um und schreibt den mit einem BufferedWriter(FileWriter) in eine Datei.
5. Ist die Übertragung beendet wird die Verbindung beendet.

Diese Umwandlung mache ich, weil wenn ich die einzelnen Byte's übertrage fehler auftraten (auch zwischen MAC und MAC).

Ich arbeite mit TCP.

Nun ist meine Frage, warum die Datei falsch übertragen wird und die meisten Zeichen (bzw. Bytes) falsch ankommen.


----------



## Ebenius (31. Mrz 2009)

Wenn Du tatsächlich _byte_s überträgst, bist Du mit Reader/Writer aber auf dem Holzweg. Wahrscheinlich hast Du im Windows einen anderen Zeichensatz und der macht die Dateien kaputt. Oder eingefügte CRs beim "Zeilenwechsel".

Was für Dateien überträgst Du? Binärdateien? Dann verwende InputStream/OutputStream. Wenn damit was nicht funktioniert, liegt der Fehler woanders, Reader/Writer sind da keine Lösung.

Ebenius


----------



## quiqum (31. Mrz 2009)

Ich habe in der Api ein bisschen herumgestöbert. 
So wie ich er verstanden habe, liegt es am einlesen und schreiben der Datei. Muss ich also folglich den FileInputStream bzw. FileOutputStream nehmen?


----------



## Ebenius (31. Mrz 2009)

quiqum hat gesagt.:


> Muss ich also folglich den FileInputStream bzw. FileOutputStream nehmen?


Genau. Ströme (InputStream/OutputStream und deren Derivate) für _byte_s und Reader/Writer (und deren Derivate) für _char_s (also Zeichen).

Ebenius


----------



## quiqum (31. Mrz 2009)

Super! Vielen Dank! Hat geklappt. Habe einfach alles auf Stream's umgewandelt und schon hat's funktioniert!


----------

