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

Java Nio 读取txt 报错Java.nio.charset.MalformedInputException

原创
作者头像
用户4191150
修改2021-08-16 10:38:17
8880
修改2021-08-16 10:38:17
举报
文章被收录于专栏:吴技术的云开发

试着用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);

成功

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

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

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

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

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