Java 无法逐行读取txt文件

Java 无法逐行读取txt文件,java,file-io,nio,Java,File Io,Nio,我试着在每一行读一个txt文件(里面有文本),然后我会在以后处理这些行 这是我的作品 import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; import java.util.stream.Stream; public class Fypio { public static void main(String args[]) { String fileNa

我试着在每一行读一个txt文件(里面有文本),然后我会在以后处理这些行

这是我的作品

 import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.stream.Stream;

public class Fypio {

    public static void main(String args[]) {

        String fileName = "e://input.txt";

        //read file into stream, try-with-resources
        try (Stream<String> stream = Files.lines(Paths.get(fileName))) {

            stream.forEach(System.out::println);

        } catch (IOException e) {
            e.printStackTrace();
        }

    }

}
#或者可以提供任何示例代码来逐行读取txt文件? “更新我的txt文件”应使用
ANSI
进行编码,这意味着您的文本文件不符合您请求的(编码)格式

虽然您的代码没有显式指定字符集,但是:

流的形式读取文件中的所有行。使用
UTF-8字符集
将文件中的字节解码为字符

由于文本文件不是UTF-8文本文件,因此需要在代码中添加。如果您不确定,该文件可能使用系统的默认字符集:

try (Stream<String> stream = Files.lines(Paths.get(fileName), Charset.defaultCharset())) {
try(Stream=Files.lines(path.get(fileName),Charset.defaultCharset()){
更新:

您在评论中指出,您的文本文件是“ANSI”,这是Windows用于其单字节字符集的名称(技术上不正确)。在美国版本的Windows上,您可能希望使用:

try (Stream<String> stream = Files.lines(Paths.get(fileName), Charset.forName("windows-1252"))) {
try(Stream=Files.line(path.get(fileName)、Charset.forName(“windows-1252”)){

my txt应使用
ANSI
进行编码。但您的代码不起作用。您是否收到相同的异常?是………答案已更新。请尝试使用与Windows称之为“ANSI”的字符集对应的显式字符集
try (Stream<String> stream = Files.lines(Paths.get(fileName), Charset.forName("windows-1252"))) {