字符缓冲流
## 字符缓冲输入流【BufferedWriter】
java.io.BufferedWriter extends Writer
继承父类的共性的成员方法:
- void write (int c) 写入单个字符。
- void write (char[] cbuf)写入字符数组
- abstract void write(char[] cbuf,int off,in len)写入字符数组的某一部分
- void write (String str) 写入字符串。
- void write (String str,int off,int len) 写入字符串的某一部分
- void flush() 刷新该流的缓冲
- void close() 关闭流,但要先刷新他
构造方法:
-
BufferedWriter(Writer out)创建一个使用默认大小输出流缓冲区字符输出流
-
BufferedWriter(Writer out,int size)创建一个使用给定大小输出缓冲区的字符输出流
特有构造方法:
-
void newLine()写入一个行分隔符
使用步骤:
1.创建字符缓冲输出流对象,构造方法中传递字符输出流
2.调用字符换出输出流中的方法Writer,把数据写入到内存缓冲区中
3.调用字符缓冲输出流中的方法flush,把内存缓冲区中的数据,刷新到文件中
4.释放资源
代码如下:
public class Demo01BufferedWriter {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
//1.创建字符缓冲输出流对象,构造方法中传递字符输出流
FileWriter fw=new FileWriter("a.txt");
BufferedWriter bw=new BufferedWriter(fw);
//2.调用字符换出输出流中的方法Writer,把数据写入到内存缓冲区中
String str="hello java";
bw.write(str);
//使用特有的构造方法void newLine()写入一个行分隔符
String str1="好好学习";
bw.write(str1);
bw.newLine();
String str2="天天向上";
bw.write(str2);
bw.newLine();
//3.调用字符缓冲输出流中的方法flush,把内存缓冲区中的数据,刷新到文件中
bw.flush();
//4.释放资源
bw.close();
}
}
截图如下:
## 字符缓冲输出流【BufferedReader】
java.io.BufferedReader extends Reader
继承自父类的共性成员方法
- int read() 读取单个字符并返回
- int read(char[] cbuf) 一次读取多个字符,将字符读入数组
- void close() 关闭该流并释放与之关联的所有资源
构造方法:
-
BufferedReader(Reader in)创建一个使用默认大小输入缓冲区的缓冲字符输入流
-
BufferedReader(Reader in,int size)创建一个使用指定大小输入缓冲区的缓冲字符输入流
特有成员方法:
-
String readLine()读取一个文本行,读取一行数据
**返回值:**包含该行内容的字符串,不包含任何行终止符,如果已到达流末尾,返回null
使用步骤:
1.创建字符缓冲输入流对象,构造方法中传递字符输入流
2.使用字符缓冲输入流对象中的read/readLine读取文本
3.释放资源
代码如下:
读取的文档:
public class Demo01BufferedReader {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
//1.创建字符缓冲输入流对象,构造方法中传递字符输入流
BufferedReader br=new BufferedReader(new FileReader("a.txt"));
//2.使用字符缓冲输入流对象中的read/readLine读取文本
/*int len=0;
while((len=br.read())!=-1) {
System.out.print((char)len);
}*/
/*使用特有方法String readLine()读取一个文本行,读取一行数据
读取一行数据
*/
String str=br.readLine();
System.out.print(str);
/*
//使用循环一行一行的读取
String line;
while((line=br.readLine())!=null) {
System.out.println(line);
}*/
//3.释放资源
br.close();
}
}
截图如下: