Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 8使用streams读取文件Java.io.UncheckedIOException_Java_Io_Java 8 - Fatal编程技术网

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

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

我试图使用streams读取文件,但无法通过异常。我一直在四处寻找,但我就是不明白为什么它会被扔掉

我要读的文件是
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);