为什么这个Java输出中汉字成了乱码,而英文没有

import java.io.*;
public class FileIn{
public static void main(String args[]){
try{
FileInputStream rf=new FileInputStream("F:/java/lj.txt");//打开文件
int b;
while((b=rf.read())!=-1)//用read()方法逐个字节读取
System.out.print((char)b); //转换成char并显示
rf.close();
}catch(IOException ie){
System.out.println(ie);
}catch(Exception e){
System.out.println(e);
}
}
}

那是你字符编码的问题把字符encoding改成utf-8就好了,不知道你用的什么编辑器,一般都在setting--font里设置追问

我用的eclipse,在哪里改啊?

追答

eclipse->window->preferences->General->workspaceTypes->Other->UTF-8->OK
汉化版:eclipse->窗口->首选项->常规->工作空间->其它->UTF-8->确定

追问

请问是这里吗?还是不行,我也搜了其他方法,还是乱码

追答

改完关了,重新起,再运行,或者把代码复制出去,再建个文件放进去,再运行

追问

虽然还是不行,不过很感谢你

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-04-21
中文编码
读写文件时候 记得设置编码 一下为读文件时
InputStreamReader isr = new InputStreamReader(file, "UTF-8");本回答被网友采纳