Javaでファイルのエンコーディングを指定する方法
Javaでは、InputStreamReaderやOutputStreamWriterでファイルのエンコーディングを指定することができる。
ファイルのエンコーディングを指定するにはFileInputStreamやFileOutputStreamのオブジェクトを作成する際にInputStreamReaderやOutputStreamWriterに渡すパラメータとして指定します。
InputStreamReaderでファイルの文字コードを指定する例は以下になります。
FileInputStream fis = new FileInputStream("file.txt");
InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
上記の例では、file.txtというファイルを読み込むためのFileInputStreamオブジェクトを作成し、InputStreamReaderのコンストラクタに渡しています。コンストラクタの第2引数では、ファイルのエンコーディング方法をUTF-8で指定しています。
同様に、以下のサンプルではOutputStreamWriterでファイルのエンコーディングを指定しています。
FileOutputStream fos = new FileOutputStream("file.txt");
OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");
上記のサンプルでは、file.txtというファイルに書き込むFileOutputStreamオブジェクトを作成し、OutputStreamWriterのコンストラクタに渡しました。コンストラクタの2つ目のパラメータでは、ファイルのエンコードにUTF-8を指定しています。
ファイルの内容であるテキストを正しく読み書きするには、ファイルの符号化方式が実際のファイルの内容の符号化方式と一致することを確認してください。