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

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

图片

读取成功

 

更多腾讯接口开发可以关注本人微信公众号查看

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值