Wie lese ich ein utf8 textfile ein ?

mcbass

Mitglied
Hallo,

ich versuche jetzt schon seit geraumer Zeit ein UTF8 text file einzulesen, und das will einfach nicht... bzw, das einlesen geht schon aber dann habe ich müll, der liest sozusagen die 2byte chars als 1byte chars.

Die Frage ist nun wie mach ich das ich aus ner textdatei den text so bekomme ?

im moment habe ich folgendes :

PHP:
            FileInputStream fin = new FileInputStream(file);

            BufferedReader myInput = new BufferedReader(new InputStreamReader(fin));

            while ((thisLine = myInput.readLine()) != null) {
                System.out.println("line :" + thisLine);                
             }


Noch ein kleiner Nachtrag, wie schaut es denn aus wenn ich eine Unicode Datei habe ?!

Danke
 
Zuletzt bearbeitet:
so habs dann doch hinbekommen,.... falls es jemanden interessiert :

PHP:
fis = new FileInputStream(file);
            isr = new InputStreamReader(fis, "Unicode");
            br = new BufferedReader(isr);

            while (true) {
                try {
                    sUni = br.readLine();

                    if (sUni == null) {
                        break;
                     }

                    sb.append(sUni);
                 } catch (Exception ae) {
                    ae.printStackTrace();

                    break;
                 }
             } // end while

            br.close();
 
Hallo!

Schau mal hier:
Code:
/**
 * 
 */
package de.tutorials;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;

/**
 * @author Tom
 * 
 */
public class UTF8FileReader {

    /**
     * @param args
     */
    public static void main(String[] args) throws Exception {

        // BufferedReader br = new BufferedReader(new InputStreamReader(
        // new FileInputStream("c:/utf8_test.txt")
        // ,"UTF8"
        // ));

        BufferedReader br = new BufferedReader(new InputStreamReader(
                new FileInputStream("c:/utf16_test.txt"),
                "UTF-16BE"));

        String line;
        while ((line = br.readLine()) != null) {
            System.out.println(line);
        }
        br.close();
    }
}

Gruss Tom
 
Danke, aber hab da noch ne frage, wie kann ich denn feststellen ob eine Datei jetzt UTF8, UNICODE oder wie auch immer encodiert ist und diese dann dementsprechend laden ?
 
Zurück