今天用java写文件编辑的时候发现Scanner无法读取中文
然后我写了一段代码测试下
import java.util.Scanner;
public class text {
public static void main(String[] args){
Scanner in=new Scanner(System.in,"UTF-8");
while(true){
String s=in.nextLine();
if("//".equals(s)) break;
System.out.println(s);
}
in.close();
}
}
无论怎样print都只是输出一串问号
目前就知道是编码问题,但是解决方法还不知道,希望大佬指点一下
:)
Scanner in=new Scanner(System.in,"UTF-8");
改为
Scanner in=new Scanner(System.in);
猜测是控制台编码问题
补充一下,代码里UTF-8那里其他的我也试过了,结果一样的出错
那应该是你的工程环境问题吧,工程是utf8编码的吗
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
5月4日补充 问题已解决,开始我认为是代码使用有误,但后来确定了代码是准确的,我一直使用VS Code写代码,这次出错后我尝试用eclipse运行了一下,竟然成功输入了中文。 所以问题出在了VS Code上,经过几个小时的折腾,我找到了解决方法,修改了VS Code的默认编码然后改了项目调试配置文件后问题解决了
非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!
速戳参与调研>>>https://t.csdnimg.cn/Kf0y
UTF-8换成GBK