From 933456c8f62f138e88f1ba289bab7dd9d5823c96 Mon Sep 17 00:00:00 2001 From: xuxin <840198532@qq.com> Date: Mon, 23 Mar 2026 11:11:23 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=9B=E9=98=B6day10-=E5=AD=97=E7=AC=A6?= =?UTF-8?q?=E7=BC=93=E5=86=B2=E6=B5=81=E7=9A=84=E5=9F=BA=E6=9C=AC=E4=BD=BF?= =?UTF-8?q?=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/inmind/buffered_stream01/Demo04.java | 65 +++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 javaSE-day10/src/com/inmind/buffered_stream01/Demo04.java diff --git a/javaSE-day10/src/com/inmind/buffered_stream01/Demo04.java b/javaSE-day10/src/com/inmind/buffered_stream01/Demo04.java new file mode 100644 index 0000000..5ed3133 --- /dev/null +++ b/javaSE-day10/src/com/inmind/buffered_stream01/Demo04.java @@ -0,0 +1,65 @@ +package com.inmind.buffered_stream01; + +import java.io.*; + +/* +字符缓冲流的基本使用 + 字符缓冲流: BufferedReader , BufferedWriter + 字符缓冲输入流:BufferedReader + 构造方法 + BufferedReader(Reader in) 创建使用默认大小的输入缓冲区的缓冲字符输入流。 + + 常用方法: + int read() 读一个字符 + int read(char[] cbuf) 将字符读入数组。 +------------------------------------------------------------------------------------- + 字符缓冲输出流:BufferedWriter + 构造方法: + BufferedWriter(Writer out) 创建使用默认大小的输出缓冲区的缓冲字符输出流。 + + 常用方法: + void write(int c) 写一个字符 + void write(char[] cbuf) 写入字符数组的一部分。 + void write(char[] cbuf, int off, int len) 写入字符数组的一部分。 + void write(String s) 写一个字符串的一部分。 + void write(String s, int off, int len) 写一个字符串的一部分。 + + 注意: + 1.字符缓冲流的基本使用与昨天的字符流一模一样 + 2.字符缓冲流就是底层封装了一个8192的字符数组,提高字符流的读写效率 + + */ +public class Demo04 { + //字符缓冲输出流的基本使用 + public static void main(String[] args) throws IOException { +// BufferedWriter bw = new BufferedWriter(new FileWriter("a.txt",true)); + BufferedWriter bw = new BufferedWriter(new FileWriter("a.txt")); + + bw.write('我'); + char[] chars = {'是','谁'}; + bw.write(chars); + bw.write("我在哪我在干嘛"); + + bw.close(); + + } + + //字符缓冲输入流的基本使用 + public static void method(String[] args) throws IOException { + BufferedReader br = new BufferedReader(new FileReader("a.txt")); + + //一次读取一个字符 + /*int ch;//用来接收读取到的字符 + while ((ch = br.read()) != -1) { + System.out.print((char) ch); + }*/ + + //一次读取一个字符数组 + char[] chars = new char[1024];//用来保存字符流读取到的字符数据 + int len;//用来保存读取到的字符个数 + while ((len = br.read(chars)) != -1) { + System.out.print(new String(chars,0,len)); + } + br.close(); + } +}