Java Scanner 无法正常读取文件

2022/1/20 14:12:08

本文主要是介绍Java Scanner 无法正常读取文件,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Java Scanner 无法正常读取文件

问题

今天在测试程序时发现用Scanner读取文件时不能正常读取。代码如下:

Scanner scanner = new Scanner(sourceFile);
while (scanner.hasNext()) {
    String str1 = scanner.nextLine();

原因分析

通过查询源码,发现发MalformedInputException 就是整个问题的根本原因。以下是甲骨文官方文档对该异常的介绍:

Checked exception thrown when an input byte sequence is not legal for given charset, or an input character sequence is not a legal sixteen-bit Unicode sequence. ———————————————— 版权声明:本文为CSDN博主「David Chou」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/vandavidchou/article/details/112389613

解决方法

通过设置编码,可处理该问题。代码如下:

String enconding = "UTF-8";
Scanner scanner = new Scanner(sourceFile,enconding);
while (scanner.hasNext()) {
    String str1 = scanner.nextLine();

Java中没有标准的字符集,可以通过设置字符集UTF-8解决。



这篇关于Java Scanner 无法正常读取文件的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程