1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Text-Datei auslesen mit ß etc.

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von TanaH, 08.06.2011.

  1. TanaH, 08.06.2011 #1
    TanaH

    TanaH Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    46
    Erhaltene Danke:
    0
    Registriert seit:
    04.04.2011
    Hallo zusammen.
    Mein Problem ist, das ich eine Text-Datei mit dem Editor erstellt habe.
    Nun will ich den Inhalt auslesen. Soweit klappt es auch. Leider erscheint das für ß, ° und Umlaute jeweils ein anderes Symbol.

    Manchmal klappt es, das das ß richtig dargestellt wird und manchmal nicht. Mein Code zum auslesen:

    FileInputStream inputStream=null;

    try {
    inputStream = new FileInputStream(Datei);
    } catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    if (inputStream!=null){
    BufferedReader br=null;

    try {
    br = new BufferedReader(new InputStreamReader(inputStream,"iso-8859-15"));
    } catch (UnsupportedEncodingException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
    }


    StringBuilder sb = new StringBuilder();
    String line;

    try {
    while ((line = br.readLine()) != null) {
    sb.append(line);
    sb.append("\n");
    }
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    InhaltDatei=sb.toString();
    }


    Kenn jemand eine Lösung für mein Problem????
    Der Zusatz "iso-8859-15" hilft wohl nicht immer, denn Datei1 wird richtig dargestellt, Datei2 (auf die gleiche Weise erstellt) zeigt mir für Umlaute irgendwelche andere Symbole. :confused2:

     
  2. TanaH, 09.06.2011 #2
    TanaH

    TanaH Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    46
    Erhaltene Danke:
    0
    Registriert seit:
    04.04.2011
    Habe es jetzt so mal versucht

    String hlf="";
    Reader reader=null;
    Character hlfc=null;
    try {
    reader=new FileReader(Datei);

    try {

    for (int c;(c=reader.read()) !=-1;)

    if (c==13){
    hlf+="/n";
    hlf+=(char)c;
    }else{
    hlf+=(char)c;
    }






    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }

    } catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    finally{
    try {
    reader.close();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    InhaltDatei=hlf;


    Doch ein Ü erscheint als Raute mit Fragezeichen.

    Weiß keiner eine Lösung???
     
  3. DieGoldeneMitte, 09.06.2011 #3
    DieGoldeneMitte

    DieGoldeneMitte Android-Lexikon

    Beiträge:
    1,230
    Erhaltene Danke:
    256
    Registriert seit:
    05.02.2010
    Phone:
    Nexus 5X
    Tablet:
    Nexus 7 (2013)
    Das Encoding der Datei muss zu dem Encoding des FileReaders passen.
    Die Datei ist offenbar UTF-8, und dein Reader nimmt LATIN1 an.
    Der Umgang mit Textdateien in variablen Encodings ist tricky,
    weil gaengige Editoren gerne mal automatisch umwandeln, ohne zu fagen.
     
    Zuletzt bearbeitet: 09.06.2011
  4. TanaH, 09.06.2011 #4
    TanaH

    TanaH Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    46
    Erhaltene Danke:
    0
    Registriert seit:
    04.04.2011
    Danke für die Antwort!
    Ich habe den Standard Editor genommen... was soll ich denn anderes nehmen?
     
  5. DieGoldeneMitte, 09.06.2011 #5
    DieGoldeneMitte

    DieGoldeneMitte Android-Lexikon

    Beiträge:
    1,230
    Erhaltene Danke:
    256
    Registriert seit:
    05.02.2010
    Phone:
    Nexus 5X
    Tablet:
    Nexus 7 (2013)
    Standard Editor? Du meist den von Eclipse, right?

    Es ist eigentlich egal, welchen Editor man nimmt,
    aber man sollte halt pruefen, ob die Dateien in erwarteten Encoding vorlegen.

    Uebrigens kann auch mal ein verstelltes Encoding auf dem Hostrechner das Speicherverhalten aendern.
    Hast Du vielleicht zwischendurch in Eclipse am Encoding rumgespielt?

    Wenn man nicht mehr weiter weiss, kann es sinnvoll sein,
    die Dateien auch mal mit einem Hexeditor anzugucken :)
     

Diese Seite empfehlen