当我们用BufferedReader读取文件,文件中含有中文时会出现乱码问题。这是编码方式不对应造成的。解决方式如下:
创建InputStreamReader实例时指定以何种方式读取文件
public static void main(String[] args) {
File file = new File("f:/trigger.txt");
try {
FileInputStream fs = new FileInputStream(file);
// FileReader reader = new FileReader(file);
BufferedReader br = new BufferedReader(new InputStreamReader(fs, "gbk"));
while (br.ready()) {
String str = br.readLine();
System.out.println(str);
}
br.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
创建InputStreamReader实例时指定以何种方式读取文件
public static void main(String[] args) {
File file = new File("f:/trigger.txt");
try {
FileInputStream fs = new FileInputStream(file);
// FileReader reader = new FileReader(file);
BufferedReader br = new BufferedReader(new InputStreamReader(fs, "gbk"));
while (br.ready()) {
String str = br.readLine();
System.out.println(str);
}
br.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
本文介绍了如何使用Java中的BufferedReader和InputStreamReader解决读取含有中文字符的文件时出现的乱码问题。通过指定正确的编码方式(如GBK),可以确保文件内容正确显示。
309

被折叠的 条评论
为什么被折叠?



