JavaSE-18.2.5【字符缓冲流、字符缓冲流特有功能】
1 package day9.lesson2; 2 3 import java.io.*; 4 5 /* 6 2.9 字符缓冲流 7 8 BufferedWriter 9 字符缓冲输入流 10 将文本写入字符输出流,缓冲字符,以提供单个字符,数组和字符串的高效写入, 11 可以指定缓冲区大小,或者可以接受默认大小。默认值足够大,可用于大多数用途 12 BufferedReader 13 字符缓冲输出流 14 从字符输入流读取文本,缓冲字符,以提供字符,数组和行的高效读取, 15 可以指定缓冲区大小,或者可以使用默认大小。 默认值足够大,可用于大多数用途 16 17 构造方法 18 BufferedWriter(Writer out) 创建字符缓冲输出流对象 19 BufferedReader(Reader in) 创建字符缓冲输入流对象 20 */ 21 public class BufferedStreamDemo01 { 22 public static void main(String[] args) throws IOException{ 23 24 //写 25 /* FileWriter fw = new FileWriter("stage2\\ssrc\\day9\\lesson2\\bw.txt"); 26 BufferedWriter bw = new BufferedWriter(fw);*/ 27 28 BufferedWriter bw = new BufferedWriter(new FileWriter("stage2\\src\\day9\\lesson2\\bw.txt")); 29 bw.write(97); 30 bw.write(98); 31 bw.write(99); 32 bw.write("\nhello"); 33 bw.write("world"); 34 bw.close(); 35 36 //读 37 BufferedReader br = new BufferedReader(new FileReader("stage2\\src\\day9\\lesson2\\bw.txt")); 38 39 //一次读一个字符 40 /*int ch; 41 while ((ch=br.read()) != -1){ 42 System.out.print((char)ch); 43 }*/ 44 45 /* 46 abc 47 helloworld 48 */ 49 50 //一次读一个字符数组 51 char[] chars = new char[1024]; 52 int len; 53 while ((len=br.read(chars)) != -1){ 54 System.out.print(new String(chars, 0, len)); 55 } 56 57 br.close(); 58 } 59 }
1 package day9.lesson2; 2 3 import java.io.*; 4 5 /* 6 2.11 字符缓冲流特有功能 7 8 BufferedWriter: 9 void newLine() 写一行行分隔符,行分隔符字符串由系统属性定义 10 11 BufferedReader: 12 String readLine() 读一行文字。 结果包含行的内容的字符串,不包括任何行终止字符(如\n等)如果流的结尾已经到达,则为null 13 */ 14 public class BufferedStreamDemo02 { 15 public static void main(String[] args) throws IOException { 16 BufferedWriter bw = new BufferedWriter(new FileWriter("stage2\\src\\day9\\lesson2\\bw2.txt")); 17 for (int i=0; i<10; i++){ 18 bw.write("hello" + i); 19 // bw.write("\r\n"); 20 // bw.write("\n"); 21 bw.newLine(); 22 bw.flush(); 23 } 24 bw.close(); 25 26 BufferedReader br = new BufferedReader(new FileReader("stage2\\src\\day9\\lesson2\\bw2.txt")); 27 String line; 28 while ((line=br.readLine()) != null){ 29 // System.out.print(line); //hello0hello1hello2hello3hello4hello5hello6hello7hello8hello9 30 System.out.println(line); 31 } 32 br.close(); 33 } 34 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!