JAVA不同版本中把文件内容转变为字符串的方法

比如有个文件abc.log,内容有:

A
B
C
D
E

下面看下各个JAVA版本的如何处理把这个文件的内容提出,输出为字符串。

1)在JAVA 11中,新增了NIO中的方法 Files.readString,可以方便把文件中的内容读取出来,例子:
 

  String path = "c:\\projects\\app.log";

        try {

            // default StandardCharsets.UTF_8
            String content = Files.readString(Paths.get(path));
            System.out.println(content);

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

2)JAVA 8中,使用stream功能:
   

  String path = "c:\\projects\\app.log";

        try (Stream lines = Files.lines(Paths.get(path))) {

           //空行会被忽略
            // String content = lines.collect(Collectors.joining());

            // UNIX \n, WIndows \r\n等去掉
            String content = lines.collect(Collectors.joining(System.lineSeparator()));
            System.out.println(content);

			// File to List
            //List list = lines.collect(Collectors.toList());

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

3 ) JAVA 7做法:
   

String path = "c:\\projects\\app.log";

        try {

         

			// Java 7
            List content = Files.readAllLines(Paths.get(path), StandardCharsets.UTF_8);

            System.out.println(content);

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

4)使用apache common工具包:

    

import org.apache.commons.io.FileUtils;

   String path = "c:\\projects\\app.log";

        try {
            String content = FileUtils.readFileToString(new File(path), StandardCharsets.UTF_8);
            System.out.println(content);
        } catch (IOException e) {
            e.printStackTrace();
        }

 

你可能感兴趣的:(JAVA)