Java - Einlesen einer csv-Datei zeilenweise ein - stecken, mit seltsamen, nicht-existent Zeichen gelesen werden!
Hallo Liebe java-Entwickler. Ich habe ein sehr seltsames Problem.
Ich versuche zu Lesen, eine csv-Datei zeilenweise ein. Im an der Stelle, wo Im testen nur aus dem Lesen der Zeilen. Nur jedes mal, dass ich lese eine Zeile, die Zeile enthält eckige Zeichen zwischen den einzelnen Zeichen des Textes. Ich habe sogar die Datei gespeichert als txt-Datei in wordpad und notepad-keine Veränderung.
Also ich muss etwas dumm...
Ich habe eine csv-Datei, standard-csv-Datei ist ja eine Textdatei mit Kommas drin. Ich versuche zu Lesen eine Zeile text, aber der text ist für alle f-ed up und nicht finden können, den Satz im text.
Irgendwelche Ratschläge? - code unten.
//open csv
File filReadMe = new File(strRoot + "data2.csv");
BufferedReader brReadMe = new BufferedReader
(new InputStreamReader(new FileInputStream(filReadMe)));
String strLine = brReadMe.readLine();
//for all lines
while (strLine != null){
//if line contains "(see also"
if (strLine.toLowerCase().contains("(see also")){
//write line from "(see also" to ")"
int iBegin = strLine.toLowerCase().indexOf("(see also");
String strTemp = strLine.substring(iBegin);
int iLittleEnd = strTemp.indexOf(")");
System.out.println(strLine.substring(iBegin, iBegin + iLittleEnd));
}
//update line
strLine = brReadMe.readLine();
} //end for
brReadMe.close();
- welche Zeichenkodierung die Datei geschrieben? Sie sind mit InputStreamReader mit keine Codierung, so wird es die Standard-Plattform-Codierung, die ist nicht immer, was Sie wollen.
- Es wurde auf einem windows-computer, Im mit einem windows-computer...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kann ich nur denken, dass dies eine inkonsistente Zeichenkodierung. Öffnen Sie die Datei in notepad, wählen Sie "Speichern unter" und wählen Sie UTF-8 in der drop-down für "encoding". Dann fügen Sie "UTF-8" als zweiter parameter InputStreamReader, z.B.
Sollte sort out Inkonsistenzen bei der Kodierung.