Jetzt registrieren!
Passwort vergessen?



 
 
 
--------------- --------------- ---------------


Textdateien unter MAC und PC



Hallo Experten,
ich habe ein kleines Programm, dass ein ASCII-Textfile in eine MySQL-DB importiert. Auf einem PC läuft alles perfekt durch, nur auf dem MAC kommt es teilweise zu NullPointerExcpetions.

Lese das File folgendermaßen ein:
f = new BufferedReader(new FileReader(filename));

und speichere den Inhalt über "f.readLine()" in einer String-Variable.

Die verschiedenen Datensätze/Felder sind durch 7 ASCII-Zeichen (7,11,12,14,17,23,27) getrennt. Über einen "StringTokenizer" teile ich die Variable anhand der Trennzeichen auf und importiere diese Felder dann in die DB.

Wie gesagt, auf dem PC läuft alles - nur auf dem MAC kommt teilweise eine Fehlermeldung. Werden ASCII-Textdateien in diesem Fall auf den Systemen unterschiedlich gehandhabt und wenn ja inwiefern? Wo könnte das Problem sein?

Habe leider keinen MAC zum testen, aber mein Bekannter sagt mir halt immer, dass irgendwas nicht geht.

Vielleicht weiss jemand woe das Problem liegt. Danke schon mal.

gruss Markus
> Artikelbaum anzeigen

Re: Textdateien unter MAC und PC


Moin
Lese das File folgendermaßen ein:
f = new BufferedReader(new FileReader(filename));

Das ist ja eine Totsünde...

DATEIFORMAT = ASCII,... ISO1245-10... ;
f = new BufferedReader(new InputStreamReader (new FileInputStream(file), DATEIFORMAT);
Wie gesagt, auf dem PC läuft alles - nur auf dem MAC kommt
teilweise eine Fehlermeldung.
Auf dem MAC hat ein return-zeichen für Zeilenumbruch nur ein Byte, auf dem PC hat's 2.

cu

Re^2: Textdateien unter MAC und PC


Servus,
danke erstmals für deine Hilfe. Wenn ich jetzt mithilfe des folgenden Code die Textdatei einlese, müsste es dann sowohl auf dem Mac als auch auf dem PC gehen?
f = new BufferedReader(new InputStreamReader(new FileInputStream(filename), "ASCII"));
while((temp = f.read()) != -1){
sBuffer.append((char)temp);
}

Wobei sBuffer ein StringBuffer ist.



gruss Markus
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Re^3: Textdateien unter MAC und PC


Moin
f = new BufferedReader(new InputStreamReader(new
FileInputStream(filename), "ASCII"));
while((temp = f.read()) != -1){
sBuffer.append((char)temp);
}

Wenn die Datei wirklich echtes ASCII ist (was weder windows (ISO-1252-XYZ) noch MAC (ISO-86XYZ ?) beherrschen): JA.

Das geht auch schneller mit:

String temp = f.readLine();
while (temp!=null){
sBuffer.append(temp);
temp = f.readLine();
}

cu

Du kannst auf diesen Artikel nicht antworten.

Dieser Artikelbaum ist im Archiv des Experten-Forums von wer-weiss-was zum Thema "Java" archiviert. Es handelt sich um keine aktuelle Diskussion, daher kann auf die Artikel nicht mehr geantwortet werden.

Seite bei ... merken:
del.icio.us digg it facebook tausendreporter yigg it twitter alltagz google Mister Wong oneview Webnews yahoo linkarena coComment Lieblnk als Bookmark einfügen
Stelle deine Frage: