Lesen beliebigen text-Datei, die merkwürdige Codierung?

Ich habe eine text-Datei mit einem seltsamen Kodierung "UCS-2 Little Endian", die ich Lesen möchte seine Inhalte mit Hilfe von Java.

Lesen beliebigen text-Datei, die merkwürdige Codierung?

Wie Sie sehen können, wie in der obigen Abbildung den Inhalt der Datei schön erscheinen, in Notepad++, aber wenn ich lese es mit diesem code, nur noch Müll gedruckt wird in der Konsole:

String textFilePath = "c:\strange_file_encoding.txt"
BufferedReader reader = new BufferedReader( new InputStreamReader( new FileInputStream( filePath ), "UTF8" ) );
String line = "";

while ( ( line = reader.readLine() ) != null ) {
    System.out.println( line );  //Prints garbage characters 
}

Der wichtigste Punkt ist, dass der Benutzer wählt die Datei zu Lesen, so kann es von jeder beliebigen Codierung, und da ich nicht erkennen kann, die Datei-Codierung, die ich entschlüsseln mit "UTF8" aber wie in dem obigen Beispiel ist es nicht richtig gelesen.

Ist es Weg Lesen, so seltsame Dateien in einen richtigen Weg ? Oder zumindest kann ich erkennen, ob mein code wird nicht richtig gelesen ?

InformationsquelleAutor Brad | 2013-03-19

Schreibe einen Kommentar