前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java Nio 读取txt 报错Java.nio.charset.MalformedInputException: Input length = 1

Java Nio 读取txt 报错Java.nio.charset.MalformedInputException: Input length = 1

原创
作者头像
用户4191150
修改2021-05-26 10:07:00
4.7K1
修改2021-05-26 10:07:00
举报

直接用nio读取txt

Path novelPath=Paths.get("C://txt/"+filename); List<String> novellines=Files.readAllLines(novelPath);

结果报错

Exception in thread "main" java.nio.charset.MalformedInputException: Input length = 1

查了下异常说明,是当输入字节序列对于给定 charset 来说是不合法的,或者输入字符序列不是合法的 16 位 Unicode 序列时,抛出此经过检查的异常

想到txt的编码应该是默认的gbk,点开readAllLines方法,显示用的是utf-8读取的

public static List<String> readAllLines(Path path) throws IOException { return readAllLines(path, StandardCharsets.UTF_8); }

改成gbk试试

Path novelPath=Paths.get("C://txt/"+filename); Charset charset= Charset.forName("GBK"); List<String> novellines=Files.readAllLines(novelPath,charset);

图片
图片

ok

​​

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档