项目场景:
词法分析器去掉注释
问题描述
FileReader读取文件导致中文乱码
原因分析:
FileReader内部没有设置指定编码的参数,只能使用ISO-8859-1 or US-ASCII的西方编码
解决方案:
用InputStreamReader
File f=new File("in.txt");
if(f.exists())
f.createNewFile();
InputStreamReader in=new InputStreamReader(new FileInputStream(f),"utf-8");
int ch,i=0;
while((ch=in.read())!=-1) {
text[i++]=(char)ch;
}