CSV einlesen - "unsichtbares" erstes Zeichen in der ersten Zeile

Also langsam werde ich echt bekloppt. Ich bin gerade dabei die Verarbeitung einer CSV-Datei zu realisieren. In der ersten Zeile stehen die Überschriften, nachfolgende Zeilen enthalten die Daten.

Das Einlesen stellt kein Problem, nur hab ich festgestellt dass ich beim Ausgeben in der Konsole als ersten Eintrag der ersten Zeile was “Falsches” bekomme.

In der CSV-Datei steht in der ersten Zeile folgendes:

Klass-Nr;Norm-Nr;Bennenung;.....

In der Konsole steht dann aber:

Wo kommt dieser Punkt her?

Das Einlesen realisiere ich so:

InputStreamReader reader = new InputStreamReader(stream);            
BufferedReader br = new BufferedReader(reader);        
String zeile=br.readLine();
if(zeile!=null){
    String[] werte = zeile.split(";");
    for(int i=0; i<werte.length;i++){
        System.out.println(i+": "+werte**);
    }
}```

Ich hab die Datei auch schon mit Notepad++ geöffnet und mir alle nicht druckbaren Zeichen anzeigen lassen, aber da ist der Punkt nicht da.

Liest du die Datei mit dem passenden Encoding ein? Was gibt dir werte**.length() aus?

length gibt mir 9 aus, mit dem Punkt zusammen stimmt es.

Die Datei ist UTF-8 kodiert, wenn ich das beim InputStreamReader mit angebe, bleibt das Ergebnis unverändert.

Ist das vielleicht eine BOM?

na da kann man mit Java (oder speziellen Programmen) doch wohl etwas mehr untersuchen,
schaue dir die exakten Bytes zu Beginn an,

vergleiche das mit einer TXT-Datei in der du „Klass-Nr“ reinschreibst,
oder beim Einlesen der TXT genauso Problem?
dabei wird dann natürlich auch interessant wie die TXT-Datei erstellt wird in welchen Encoding,
evtl. mit Java OutputStreamWriter UTF-8 usw.

Wie sich herrausgestellt hat, ist dieses Zeichen beim Konvertieren von einem Zeichensatz in einen anderen zustande gekommen.

Die ursprüngliche Datei ist ISO-8859-1 kodiert und wurde dann in UTF-8 umkonvertiert, dabei entstand das komische Zeichen.

Ich lese jetzt die Orginal-Datei mit ISO-8859-1 Encoding ein und dann hab ich alles richtig im Programm.

[QUOTE=Greta]Die ursprüngliche Datei ist ISO-8859-1 kodiert und wurde dann in UTF-8 umkonvertiert, dabei entstand das komische Zeichen.
[/QUOTE]
Wie cmrudolph schon sagte handelt es sich wohl um eine BOM.