麻烦老师看下为什么我输出的是乱码呢?

麻烦老师看下为什么我输出的是乱码呢?

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;

public class ReadDemo {

	public static void main(String[] args) {
		try {
			FileInputStream fis=new FileInputStream("imooc1.txt");
			InputStreamReader isr=new InputStreamReader(fis);
			int n=0;
			char[] cbuf=new char[10];
			while((n=isr.read())!=-1) {
				System.out.print((char)n);
			}
			fis.close();
			isr.close();
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}


	}

}

http://img1.sycdn.imooc.com//climg/5aba0a7a0001667012750664.jpg

http://img1.sycdn.imooc.com//climg/5aba0b510001a73011440690.jpg

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

http://img1.sycdn.imooc.com//climg/5aba173000011f8004110491.jpg

http://img1.sycdn.imooc.com//climg/5aba16f70001fd0007820361.jpg

看一下设置的是不是UTF-8。如果不是改一下。祝:学习愉快

  • 慕虎8754231 提问者 #1
    老师我第三张图就是说明我用的编码合适就是UTF-8,我用你说的方法看了下也是UTF-8,但是我在控制台输出还是乱码,这是为什么呢?
    2018-03-28 09:42:58
  • 慕虎8754231 提问者 #2
    非常感谢!
    2018-03-28 10:29:15
提问者 慕虎8754231 2018-03-28 10:15:07

这个问题我已经解决啦,这是因为我开始这个“imooc1.txt”文件中的汉字是自己在根目录中手动建立的,而txt文件默认的编码格式不是UTF-8,这种情况下想正常输出文字有两个途径:1.在编译器中选择“GBK”编码格式;2.在编辑器中重新对文本进行写操作后读取(相当于将文本编码格式设置为UTF-8)

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师