2013年4月10日水曜日

WindowsのSJISファイルを読む


    //Text File 読み込みメソッド

    public String readText(String filename) throws IOException{
        FileInputStream in = new FileInputStream(filename);
        BufferedReader reader = new BufferedReader(new InputStreamReader(in,"MS932"));
        StringBuffer sb = new StringBuffer();
        String sbs;
        while ((sbs = reader.readLine()) != null) {
            sb.append(sbs);
        }
        in.close();

        return sb.toString();
    }

InputStreamReaderに、MS932の指定が必要。これが無いと文字化けする。

WindowsのSJISは厳密にはSJISでなく、拡張されていて、MS932である。
Javaでは、Shift_JISはMS932のことらしい。

文字コード説明
ISO-8859-1ASCII。
ISO-2022-JPJISコード。
Shift_JISJDK1.1 までは SJIS と同義。JDK1.2 からは MS932 と同義。
SJISシフトJIS。
MS932Microsoft 932。シフトJISとほぼ同様だが若干異なる。
CP932Code Page 932。MS932 とほぼ同様だが若干異なる。
EUC_JPEUC。

0 件のコメント:

コメントを投稿