首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用streams java.io.UncheckedIOException读取Java 8文件

使用streams java.io.UncheckedIOException读取Java 8文件
EN

Stack Overflow用户
提问于 2016-05-10 11:16:54
回答 1查看 5.7K关注 0票数 4

我试图使用流来读取文件,但我无法通过异常。我一直在四处张望,但我只是不明白为什么会被扔出去。

我将要读取的文件是file.txt,它是用UTF-8编码的。

我正在用Files.lines()阅读它

代码语言:javascript
运行
复制
String path = FileWordCount.class.getResource("file.txt").getPath().substring(1);

Files.lines(Paths.get(path), Charset.forName("UTF-8")).forEach(System.out::println);

当试图读取该文件时,我将得到以下异常:

代码语言:javascript
运行
复制
Exception in thread "main" java.io.UncheckedIOException: java.nio.charset.MalformedInputException: Input length = 1
[...]
Caused by: java.nio.charset.MalformedInputException: Input length = 1

通常,我不会发布关于异常的简单问题,但我只是想出一个答案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-10 11:30:22

UncheckedIOException正在包装一个MalformedInputException --这是一个未隐藏的错误。JavaDoc的意思是:

如果输入字节序列对给定字符集不合法,或者输入字符序列不是合法的16位Unicode序列,则引发选中异常。

因此,您的file.txt不包含有效的UTF-8,并导致UTF-8解码器报告错误。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37136973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档