使用InputStreamReader()方法去除中文乱码

最近写代码发现直接使用BufferedReader()会出现乱码
要使用InputStreamReader()方法才不会出现乱码
错误示例:
import java.io.*;
public class EFile {
public static void main(String args[]) {
File file1,file2;
FileInputStream fis;
InputStreamReader isr;
BufferedReader br;
PrintWriter pw;
FileWriter fw;
FileReader fr;
try
{
char [] b=new char[1024];
file1=new File(“read.txt”);
file2=new File(“write.txt”);
//fis=new FileInputStream(file1);
fw=new FileWriter(file2);
fr=new FileReader(file1);
//isr=new InputStreamReader(fr,“UTF-8”);
br=new BufferedReader(fr);
pw=new PrintWriter(fw);
String str=null;
while((str=br.readLine())!=null){
System.out.println(str);
pw.println(str);
}
//fis.close();
//isr.close();
br.close();
br.close();
fw.close();
pw.close();
}catch(IOException e){
e.printStackTrace();
}
}

}
在这里插入图片描述
正确示例如下
import java.io.*;
public class EFile {
public static void main(String args[]) {
File file1,file2;
FileInputStream fis;
InputStreamReader isr;
BufferedReader br;
PrintWriter pw;
FileWriter fw;
try
{
char [] b=new char[1024];
file1=new File(“read.txt”);
file2=new File(“write.txt”);
fis=new FileInputStream(file1);
fw=new FileWriter(file2);
isr=new InputStreamReader(fis,“UTF-8”);
br=new BufferedReader(isr);
pw=new PrintWriter(fw);
String str=null;
while((str=br.readLine())!=null){
System.out.println(str);
pw.println(str);
}
fis.close();
isr.close();
br.close();
fw.close();
pw.close();
}catch(IOException e){
e.printStackTrace();
}
}

}在这里插入图片描述

那么我们做下如下总结,当你的文本里面出现汉字的时候,读取内容的时候,一定是要用到FileInputStream()、InputStreamReader()、BuffedReader()类。

发布了3 篇原创文章 · 获赞 6 · 访问量 182

猜你喜欢

转载自blog.csdn.net/weixin_44731936/article/details/103631539