如何在Java中获取文件内容?

2022-09-01 01:19:17

要获取txt文件的内容,我通常使用扫描仪并迭代每行以获取内容:

Scanner sc = new Scanner(new File("file.txt"));
while(sc.hasNextLine()){
    String str = sc.nextLine();                     
}

Java API是否提供了一种通过一行代码获取内容的方法,例如:

String content = FileUtils.readFileToString(new File("file.txt"))

答案 1

不是内置的API - 但番石榴是,以及其他宝藏。(这是一个很棒的图书馆。

String content = Files.toString(new File("file.txt"), Charsets.UTF_8);

有类似的方法可以读取任何可读,或将二进制文件的全部内容作为字节数组加载,或将文件读取到字符串列表中,等等。

请注意,此方法现已弃用。新的等效项是:

String content = Files.asCharSource(new File("file.txt"), Charsets.UTF_8).read();

答案 2

在Java 7中,有一个API沿着这些路线。

Files.readAllLines(Path path, Charset cs)


推荐