Zeichenkodierung bei Dateien festlegen

Sirakov

Mitglied
Hallo,
ich habe folgende Frage: wie kann ich die Zeichenkodierung bestimmen, wenn ich eine Datei lese? Hier ist der Teil, wo ich die Datei einlese:

Code:
final JMenuItem openFile = new JMenuItem(MainWin.openNewFile);
            editMenu.add(openFile);
            openFile.addActionListener(new ActionListener() {
                public void actionPerformed(final ActionEvent ae) {
                    final int retval = fc.showOpenDialog(MainWin.this);
                    if (retval == JFileChooser.APPROVE_OPTION) {
                        final File myFile = fc.getSelectedFile();
                        editArea1.setText("");
                        try {
                            FileReader datei;
                            datei = new FileReader(myFile);

                            final BufferedReader dat_read = new BufferedReader(datei);
                            name = dat_read.readLine();

                            while (null != name) {
                                editArea1.append(name + "\n");
                                name = dat_read.readLine();
                            }
                            dat_read.close();
                        } catch (FileNotFoundException e) {
                            JOptionPane.showMessageDialog(null, new StringBuffer().append("File not found!").toString());
                        } catch (IOException e) {
                            JOptionPane.showMessageDialog(null, e.getMessage());
                        }
                    }
                }
            });

Danke im voraus :)

Gruß,
Atanas
 
Hallo!

Soweit ich weis gibt es keinen "einfachen" Weg das Encoding eines Files zu ermitteln.
Du könntest beispielsweise die ersten XX Zeichen der Datei einlesen und mittels eines kleinen Algorithmus anhand der byte Verteilung das Encoding "schätzen"....
jedoch wäre es leichter, wenn du das Encoding kennen würdest... ;-)

Gruß Tom
 
Zurück