首页 > 其他分享 >002 读取文本文件

002 读取文本文件

时间:2022-12-17 19:55:42浏览次数:33  
标签:Charset String charset 002 static 文本文件 path public 读取

这里提供四个函数,用于读取文本文件。
public static String textFileContent(String path, Charset charset)
 1 // 读取文件全部内容
 2 public static String textFileContent(String path, Charset charset){
 3     Path file = Paths.get(path);
 4     try {
 5         String content = Files.readString(file, charset);
 6         return content;
 7     }catch (IOException err) {
 8         err.printStackTrace();
 9         return null;
10     }
11 }
public static Stream<String> textFileToLineStream(String path, Charset charset)
 1 // 把文件转换成由各行构成的Stream
 2 public static Stream<String> textFileToLineStream(String path, Charset charset){
 3     Path file = Paths.get(path);
 4     try{
 5         Stream<String> lines = Files.lines(file, charset);
 6         return lines;
 7     }catch (Exception err){
 8         err.printStackTrace();
 9         return null;
10     }
11 }
public static List<String> textFileToLineList(String path, Charset charset)
 1 // 把文件按行读入列表
 2 public static List<String> textFileToLineList(String path, Charset charset){
 3     Path file = Paths.get(path);
 4     try{
 5         List<String> lines = Files.readAllLines(file, charset);
 6         return lines;
 7     }catch (Exception err){
 8         err.printStackTrace();
 9         return null;
10     }
11 }
public static void readLinesUsingFileReader(String path, Charset charset)
 1 // 使用FileReader读取文件各行,Java7的做法。
 2 public static void readLinesUsingFileReader(String path, Charset charset) {
 3     File file = new File(path);
 4     try {
 5         FileReader fr = new FileReader(file, charset);
 6         BufferedReader br = new BufferedReader(fr);
 7         String line;
 8         while ((line = br.readLine()) != null) {
 9             System.out.println(line);
10         }
11         br.close();
12         fr.close();
13     }catch (Exception err){
14         err.printStackTrace();
15     }
16 }

测试代码:

 1 public static void main(String[] args) throws IOException{
 2     String path = "d:/mytext.txt";
 3     System.out.println(textFileContent(path, StandardCharsets.UTF_8));
 4     textFileToLineStream(path, StandardCharsets.UTF_8).forEach(System.out::println);
 5     List<String> lines = textFileToLineList(path, StandardCharsets.UTF_8);
 6     for (String line:lines){
 7         System.out.println(line);
 8     }
 9     readLinesUsingFileReader(path, StandardCharsets.UTF_8);
10 }

 

标签:Charset,String,charset,002,static,文本文件,path,public,读取
From: https://www.cnblogs.com/java369/p/16989432.html

相关文章