![](/img/trans.png)
[英]Java, Using Scanner to input characters as UTF-8, can't print text
[英]Why can't the program read UTF-8 characters using Scanner?
我以这种方式初始化了Scanner类对象:
Scanner scanner = new Scanner(new File("data.txt"),"utf-8");
当我尝试读取带有ç或é等字符的文件时, scanner.hasNextLine()
返回false,扫描仪不会读取任何内容。
我尝试使用“ iso-8859-1”。 并且文件读取成功。 但是文件是UTF-8文件,像'ç'这样的字符显示为“ç”。
请帮助我解决问题,并使程序正确读取和显示UTF-8字符。
在编写UTF-8
编码的文本时指定编码
new String(scanner.next().getBytes(), Charset.forName("UTF-8"))
要获得完整的行,请在扫描仪中指定定界符
scanner.useDelimiter("\n");
采用:
新的String(scanner.next()。getBytes(“ UTF-8”),Charset.forName(“ UTF-8”))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.