当我们用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();
}
}