IO-4(BufferedInputStream、BufferedInputStream、BufferedReader、BufferedWriter)
1.BufferedInputStream
字节缓冲输入流
从文件中读取数据
1.1 读数据步骤
- 创建数据流对象
- 将基本流包装秤高效流
- 读数据
- 关闭流
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.IOException;public class Test{public static void main(String[] args) throws IOException {FileInputStream fi=new FileInputStream("a.txt");BufferedInputStream bis=new BufferedInputStream(fi);int ch=-1;while((ch=bis.read())!=-1)System.out.print((char)ch);bis.close();fi.close();}
}
运行结果:(说明可以读取换行)

2.BufferedOutputStream
字节缓冲输出流
写数据到文件
2.1写数据步骤
- 创建流
- 使用高效流进行封装
- 写数据
- 关闭流
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;public class Test{public static void main(String[] args) throws IOException {FileOutputStream fo=new FileOutputStream("a.txt");BufferedOutputStream bos=new BufferedOutputStream(fo);bos.write("你在吗?".getBytes());bos.close();fo.close();}
}
运行结果:

3.BufferedReader
字符缓冲输入流

所有已实现的接口:
Closeable, Readable
3.1 构造方法
BufferedReader(Reader in):创建一个使用默认大小输入缓冲区的缓冲字符输入流
BufferedReader(Reader in,int size):创建一个使用指定认大小输入缓冲区的缓冲字符输入流
3.2 方法
int read():读取单个字符
int read(char[] chs,int index,int len):将字符读入数组的某一部分
String readLine():读取一个文本行
3.2.1 读取数据方式1:一次一个字符
int ch;
while((ch=in.read())!=-1)System.out.print((char)ch);
in.close();
3.2.2 读取数据方式2:一次一个字符数组
char[] chs=new char[1024];
int len;
while((len=in.read())!=-1)System.out.print(new String(chs,0,len));
in.close();
3.2.3 读取数据方式3:一次一个文本行
String line=null;
while((line=in.readLine())!=null)System.out.println(line);
in.close();
3.3使用步骤
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;public class Test{public static void main(String[] args) throws IOException {BufferedReader in=new BufferedReader(new FileReader("a.txt"));String line=null;while((line=in.readLine())!=null)System.out.println(line);in.close();}
}
运行结果:

4.BufferedWriter
字符缓冲输出流

所有已实现的接口:
Closeable, Flushable, Appendable
4.1构造函数
BufferedWriter(Writer out):创建一个使用默认认大小输出缓冲区的缓冲字符输出流
BufferedWriter(Writer out,int size):创建一个使用指定认大小输出缓冲区的缓冲字符输出流
4.2 方法
void newLine():写入一个行分隔符,依当前系统
void write(int c):写入一个字符
void write(char[] c,int index,int len):写入字符数组的某一部分
void write(String str,int index,int len):写入字符串的某一部分
4.3使用步骤
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;public class Test{public static void main(String[] args) throws IOException {BufferedWriter out=new BufferedWriter(new FileWriter("b.txt"));String line=null;for(int i=0;i<5;i++) {out.write("hello");out.newLine();}out.close();}
}
运行结果:

分析:
BufferedWriter out=new BufferedWriter(new FileWriter("b.txt"));
BufferedWriter将文本写入FileWriter,最终写是由FileWriter来做的。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
