Java 8使用streams读取文件Java.io.UncheckedIOException
我试图使用streams读取文件,但无法通过异常。我一直在四处寻找,但我就是不明白为什么它会被扔掉 我要读的文件是Java 8使用streams读取文件Java.io.UncheckedIOException,java,io,java-8,Java,Io,Java 8,我试图使用streams读取文件,但无法通过异常。我一直在四处寻找,但我就是不明白为什么它会被扔掉 我要读的文件是file.txt,它是用UTF-8编码的 我正在使用Files.lines()阅读它: 尝试读取文件时,我遇到以下异常: 线程“main”java.io.UncheckedIOException:java.nio.charset.MalformedInputException:Input length=1中的异常 [...] 原因:java.nio.charset.Malformed
file.txt
,它是用UTF-8编码的
我正在使用Files.lines()
阅读它:
尝试读取文件时,我遇到以下异常:
线程“main”java.io.UncheckedIOException:java.nio.charset.MalformedInputException:Input length=1中的异常
[...]
原因:java.nio.charset.MalformedInputException:输入长度=1
通常情况下,我不会发布关于异常的简单问题,但我只会解决这个问题。未选中的异常正在包装一个
格式不正确的异常
——这就是解锁错误。JavaDoc对此表示:
当输入字节序列不合法时引发选中异常
给定的字符集或输入字符序列不是合法的
16位Unicode序列
因此,您的文件.txt
不包含有效的UTF-8,导致UTF-8解码器报告错误。这可能与以下情况有关:?
String path = FileWordCount.class.getResource("file.txt").getPath().substring(1);
Files.lines(Paths.get(path), Charset.forName("UTF-8")).forEach(System.out::println);