Textdateien unter MAC und PC
(Autor: M a r k u ѕ, Frage gestellt am Di, 18. Mai 2004)
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:
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
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
(Autor: р u m р k i n, Antwort nach 21 Min)
Moin
cu
Lese das File folgendermaßen ein:
Das ist ja eine Totsünde...f = new BufferedReader(new FileReader(filename));
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.teilweise eine Fehlermeldung.
cu
Re^2: Textdateien unter MAC und PC
(Autor: Μ a r k u s, Antwort nach 58 Min)
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?
Wobei sBuffer ein StringBuffer ist.
gruss Markus
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
(Autor: р u m p k i n, Antwort nach 8 h)
Moin
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
f = new BufferedReader(new InputStreamReader(new
FileInputStream(filename), "ASCII"));
while((temp = f.read()) != -1){
sBuffer.append((char)temp);
}
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.
Folgende Artikel könnten Dich auch interessieren:
ASCII MoviePlayer[Mac] Textdatei einlesen mit Umlaute
Array von Objekten
JAVA SimpleDateFormat
Textfeld auslesen und in Variable schreiben
socket ip des clients heraus bekommen
Kubuntu und WLAN (Vigor 510)
Mac ZipDrive...
VBA, ';' in Range(xy) schreiben
'submit' nicht bei <Enter>
ASCII Datei ausgabe erstellen
Felder aus einer Abfrage in ein Formular übernehme
vorheriger Artikelbaum
(jar-Bibiliotheken dynamisch laden)
(JFileChooser unter Java 1.1)
nächster Artikelbaum















