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 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix