在学习Java IO的输入输出流的时候遇到了一个问题,就是无论用BufferedReader还是Scanner输入中文,在控制台输出的时候都会出现乱码的情况,而且不管在Window-Preferences中怎么改变编码方式都无效(包括UTF-8和GBK)。
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Demo22 {
public static void main(String args[]) throws Exception {
BufferedReader buf = null;
buf = new BufferedReader(new InputStreamReader(System.in));
String str = null;
System.out.println("请输入内容:");
try {
str = buf.readLine();
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("输入的内容为:" + str);
}
}
后来发现在Run Configurations里的Common中将编码方式改成GBK就正常了。
以上是测试的代码:
运行结果:
本文探讨了在Java中使用BufferedReader或Scanner读取控制台输入时遇到的中文乱码问题,并提供了解决方案。通过调整IDE的Run Configurations设置中的编码方式为GBK,可以有效避免乱码现象。
1070

被折叠的 条评论
为什么被折叠?



