I/O缓冲区Buffered类的使用
通过定义数组的方式确实比以前一-次读取-一个字节的方式快很多,所以,看来有一个缓冲区还是非常好的。
既然是这样的话, 那么,java开始在设计的时候,它也考虑到了这个问题,就专门提供了带缓冲区的字节类。
这种类被称为:缓)冲区类(高效类)
写数据: Buffe redoutputstream
读数据: BufferedInputStream
构造方法可以指定缓冲区的大小,但是我们一-般用不上,因为默认缓冲区大小就足够了。
为什么不传递一一个具体的文件或者文件路径,而是传递一-个OutputStre am对象呢?
原因很简单,字节缓冲区流仅仅提供缓冲区,为高效而设计的。但是呢。真正的读写操作还得靠基本的流对象实现。
//写数据: BufferedoutputStream
//读数据: BufferedInputStream
package RecursiveDemo10;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
//写数据: BufferedoutputStream
//读数据: BufferedInputStream
public class BufferedDemo {
public static void main(String[] args) {
BufferedInputStream bos =null;
try {
bos =new BufferedInputStream(new FileInputStream("D:\\java项目\\java的学习\\IOshunt\\abc.txt"));
byte[] byts= new byte[1024];
int len;
while((len = bos.read(byts)) != -1)
{
System.out.print(new String(byts,0,len));
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
bos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}