在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,你可以根據實際情況替換為其他編碼。此外,如果文件中的特殊字符無法正確顯示,可能是由于指定的編碼與文件實際編碼不匹配導致的。