文章目录
前言
IO流—BufferedReader带有缓冲的字符输入流和BufferedWriter带有缓冲的字符输出流
使用带有缓冲的流时,不需要创建任何类型的数组
一、BufferedReader带缓冲的字符输入流
1.BufferedReader类中方法:
BufferedReader类的构造方法:
BufferedReader(Reader in){ }
注意:所传in参数只能是字符流,若为字节流需要进行流的转换。
String readLine():一次读取一行的字符,若为空,返回null。
2.BufferedReader实例:
代码如下:
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class BufferedReaderIo {
public static void main(String[] args){
FileReader reader = null;
BufferedReader br = null;
try {
reader= new FileReader("copytxt");
//在这里reader是字节流(不是Stream所定义的字节流,而是相对于br包装流的字节流),br是包装流
br = new BufferedReader(reader);
//开始读文件
String str = null;
while((str=br.readLine()) != null){
System.out.println(str);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
if (br != null) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
二、BufferedWriter带缓冲的字符输出流
1.BufferedWriter类中方法:
构造方法:与BufferedReader构造方法一致,所传参数也应为字符流。
void write(byte[] bytes):将byte数组中的字节全部写到硬盘中。
2.BufferedWriter实例
代码如下:
import java.io.*;
public class BufferedWriterIO {
public static void main(String[] agrs){
BufferedWriter bw = null;
try {
bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("copyIO",true)));
bw.write("啦啦啦");
bw.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (bw != null) {
try {
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}