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