2 Stimmen

Lesen von Daten aus einer UTF-8-Textdatei und Tokenisierung

Ich versuche, UTF-8 aus einer Textdatei zu lesen und einige Tokenisierung zu tun, aber ich habe Probleme mit der Codierung:

try {
    fis = new FileInputStream(fName);
} catch (FileNotFoundException ex) {
    //...
}

DataInputStream myInput = new DataInputStream(fis);
    try {
        while (thisLine = myInput.readLine()) != null) {
            StringTokenizer st = new StringTokenizer(thisLine, ";");
            while (st.hasMoreElements()) {
            // do something with st.nextToken();
    }
}
} catch (Exception e) {
//...
}

und DataInputStream hat keine Parameter zum Einstellen der Kodierung!

0voto

pudo Punkte 43

StringTokenizer ist eine extrem einfache Klasse für die Tokenisierung von Text. Ich kann sie nur für Aufgaben empfehlen, bei denen die Token nicht weiter identifiziert werden müssen (z.B. mit Hilfe eines Wörterbuchs) und die nur für westliche Sprachen verwendet werden sollen.

Für fortgeschrittene Fälle, die westliche Sprachen betreffen, kann ein einfacher Tokenizer geschrieben werden, der auf Unicode-Zeichenklassen basiert (dies wird viele Arten von Leerzeichen, Begrenzungszeichen usw. erfassen) und dann mit Regexen erweitert werden, um spezielle Fälle zu erfassen (wie 'that's', 'C++'...).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X