Java でファイルを読み込み、エンコーディングを設定する方法

Javaでは、InputStreamReaderクラスを使用してファイルを読み込み、エンコーディングを設定できます。簡単な例を以下に示します。

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

public class FileReadExample {
    public static void main(String[] args) {
        try {
            // 指定文件路径
            String filePath = "path/to/file.txt";
            
            // 指定文件编码
            String encoding = "UTF-8";
            
            // 创建输入流
            FileInputStream fis = new FileInputStream(filePath);
            InputStreamReader isr = new InputStreamReader(fis, encoding);
            BufferedReader br = new BufferedReader(isr);
            
            // 读取文件内容
            String line;
            while ((line = br.readLine()) != null) {
                System.out.println(line);
            }
            
            // 关闭流
            br.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

上で示した例では、FileInputStreamを用いてファイル入力ストリームを作成しました。その後、InputStreamReaderを用いてファイル入力ストリームを文字入力ストリームに変換し、コンストラクタでファイルのエンコーディングを指定しました。最後に、BufferedReaderを用いてファイルの内容を行単位で読み取り、コンソールに出力しました。

このサンプルでは文字コードは UTF-8 で指定していますが、適宜他の文字コードに変更してください。なお、ファイル内の特殊文字が正しく表示されない場合は、指定した文字コードと実際の文字コードが一致していない可能性があります。

bannerAds