BufferedWriter_字符缓冲输出流和BufferedReader字符缓冲输入流
BufferedWriter_字符缓冲输出流
java.io.BufferedWriter extends Writer
BufferedWriter:字符缓冲输出流
继承自父类的共性成员方法:
Writer |
append(char c)
将指定的字符附加到此作者。
|
Writer |
append(CharSequence csq)
将指定的字符序列附加到此作者。
|
Writer |
append(CharSequence csq, int start, int end)
将指定字符序列的子序列附加到此作者。
|
abstract void |
close()
关闭流,先刷新。
|
abstract void |
flush()
刷新流。
|
void |
write(char[] cbuf)
写入一个字符数组。
|
abstract void |
write(char[] cbuf, int off, int len)
写入字符数组的一部分。
|
void |
write(int c)
写一个字符
|
void |
write(String str)
写一个字符串
|
void |
write(String str, int off, int len)
写一个字符串的一部分
|
构造方法:
BufferedWriter(Writer out)
创建使用默认大小的输出缓冲区的缓冲字符输出流。
|
BufferedWriter(Writer out, int sz)
创建一个新的缓冲字符输出流,使用给定大小的输出缓冲区。
|
特有的成员方法:
void |
newLine()
写一行行分隔符。会根据不同的操作系统,获取不同的行分隔符
|
换行:换行符号
windows:\r\n
linux:\n
mac:\r
使用步骤:
1.创建字符缓冲输出流对象,构造方法中传递字符输出流
2.调用字符缓冲输出流中的方法write,把数据写入到内存缓冲区中
3.调用字符缓冲输出流中的方法flush,把内存缓冲区中的数据。刷新到文件中
4.释放资源
public class DemoBufferedWriter { public static void main(String[] args) throws IOException { BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter("a.txt")); for (int i = 1; i <=10 ; i++) { bufferedWriter.write("黑马"); bufferedWriter.newLine();//一行的分隔符 } bufferedWriter.close(); } }
BufferedReader字符缓冲输入流
java.io.BufferedReader extends Reader
继承自父类的共性成员方法:
abstract void |
close()
关闭流并释放与之相关联的任何系统资源。
|
void |
mark(int readAheadLimit)
标记流中的当前位置。
|
boolean |
markSupported()
告诉这个流是否支持mark()操作。
|
int |
read()
读一个字符
|
int |
read(char[] cbuf)
将字符读入数组。
|
abstract int |
read(char[] cbuf, int off, int len)
将字符读入数组的一部分。
|
int |
read(CharBuffer target)
尝试将字符读入指定的字符缓冲区。
|
boolean |
ready()
告诉这个流是否准备好被读取。
|
void |
reset()
重置流。
|
long |
skip(long n)
跳过字符
|
构造方法:
BufferedReader(Reader in)
创建使用默认大小的输入缓冲区的缓冲字符输入流。
|
BufferedReader(Reader in, int sz)
创建使用指定大小的输入缓冲区的缓冲字符输入流。
|
特有的成员方法:
行的终止符号:通过下列字符之一即可认为某行已终止:换行(‘\n’),回车(‘\r’)或回车后直接跟着换行(\r\n)
使用步骤:
1.创建字符缓冲流对象,构造方法中传递字符输入流
2.使用字符缓冲输入流对象中的方法read/readLine读取文本
3.释放资源
public static void main(String[] args) throws IOException { BufferedReader bufferedReader = new BufferedReader(new FileReader("a.txt")); // String s = bufferedReader.readLine();//读取一行 // System.out.println(s); // // String s2 = bufferedReader.readLine();//读取一行 // System.out.println(s2); // // String s3 = bufferedReader.readLine();//读取一行 // System.out.println(s3); /* 发现以上读取是一个重复的过程,所以可以使用循环优化 不知道文件中有多少行数据,所以使用while循环 while的结束条件,读取到null结束 */ String line; while ((line=bufferedReader.readLine())!= null){ System.out.println(line); }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix