002 读取文本文件

这里提供四个函数,用于读取文本文件。
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 (IOException 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 (IOException 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 (IOException 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 }
复制代码

 

posted @   面包车  阅读(20)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示