1. java.io.BufferedInputStream与java.io.BufferedOutputStream可以为InputStream,OutputStream类增加缓冲区功能。构建BufferedInputStream实例时,需要给定一个InputStream类型的实例,实现BufferedInputStream时,实际上最后是实现InputStream实例。同样,构建BufferedOutputStream时,也需要给定一个OutputStream实例,实现BufferedOutputStream时,实际上最后是实现OutputStream实例。
2. BufferedInputStream的数据成员buf是一个位数组,默认为2048字节。当读取数据来源时,例如文件,BufferedInputStream会尽量将buf填满。当使用read()方法时,实际上是先读取buf中的数据,而不是直接对数据来源作读取。当buf中的数据不足时,BufferedInputStream才会再实现给定的InputStream对象的read()方法,从指定的装置中提取数据。
3. BufferedOutputStream的数据成员buf也是一个位数组,默认为512字节。当使用write()方法写入数据时实际上会先将数据写到buf中,当buf已满时才会实现给定的OutputStream对象的write()方法,将buf数据写到目的地,而不是每次都对目的地作写入的动作。
实现文件复制功能:
FileOutputStream fos=new FileOutputStream(file1);
FileInputStream fin=new FileInputStream(file2);
int len;
byte[]buffer=new byte[1024]; //这里需要建立缓冲区
while((len=fin.read(buffer))!=-1){ //从文件读取数据写到自定义缓冲区中
fos.write(buffer,0,len); //读取自定义缓冲区里长度为len的字节数据输出到文件中
}
bos.flush();
如果使用缓存流,就不需要自己建立缓冲区
FileOutputStream fos=new FileOutputStream(file1);
FileInputStream fin=new FileInputStream(file2);
BufferedInputStream bis=new BufferedInputStream(fin); //进行缓冲包装
BufferedOutputStream bos=new BufferedOutputStream(fos);
int len;
while((len=bis.read())!=-1){ //读取文件的数据写到BufferedInputStream 的缓冲区里去
bos.write(len); // 从缓冲区读取len长度的字节输出到文件中
}
bos.flush();
PS:上面的理解和测试好像有的问题。看到的朋友自己重新了解一下。我好像理解错误了。有待修改
BufferedReader 的使用
FileReader fr=new FileReader("d:/aaa.txt");
FileWriter fin=new FileWriter("d:/1231.txt");
BufferedReader br=new BufferedReader(fr);
String buffer=null;
while((buffer=br.readLine())!=null){
fin.write(buffer);
}
fin.flush();
分享到:
相关推荐
BufferedInputStream和BufferedOutputStream分别继承于FilterInputStream和FilterOutputStream,代表着缓冲区的输入输出,这里我们就来看一下Java中的BufferedInputStream与BufferedOutputStream使用示例:
Java读存大块二进制资料文件,java.io 包中提供了BufferedInputStream 和BufferedOutputStream 类来缓存的读写流。但是读写大块的数据文件时,使用这两个类的效果并不是很好。本例演示了如何自定义缓存区,并使用不...
字节缓冲输出流: BufferedOutputStream (OutputStream out) public class BufferStreamDemo { public static void main(String[] args) throws IOException { //字节缓冲输出流: BufferedOutputStream ...
java IO 字节流练习代码 FileInputStream和...BufferedInputStream 和 BufferedOutputStream DataInputStream 和 DataOutputStream ObjectInputStream和ObjectOutputStream PrintStream PushbackInputStream
BufferedInputStream和BufferedOutputStream 156 DataInputStream和DataOutputStream 157 ObjectInputStream和ObjectOutputStream 158 PrintStream 158 Reader 158 Writer 159 FileReader和FileWriter 159 ...
JSP 中的文件操作............................................................BufferedInputStream 和BufferedOutputStream 类179 4.3 使用字符流读写文件..............................183 IV 4.3.1 FileReader 和...
Java reads and stores large binary data files. The java.io package provides BufferedInputStream and BufferedOutputStream classes to buffer read and write streams
Java I/O 流代码实例大全(01~09) File、FileInputStream、FileOutputStream、FileReader、FileWriter、BufferedInputStream、BufferedOutputStream、BufferedReader、BufferedWriter
分析Java常用IO流,包括InputStream、OutputStream、FileInputStream、FileOutputStream、BufferedInputStream、BufferedOutputStream、Reader、Writer、InputStreamReader、OutputStreamWriter、FileReader、...
InputStream和OutputStream 1.DataInputStream,DataOutputStream 从Stream里读取基本类型的数据 BufferedReader,BufferedWriter...2.BufferedInputStream,BufferedOutputStream 封装了从缓冲区读写指定数量数据的方法
目录java IO流学习笔记——(3)字节缓冲流&字符缓冲流&转换流&数据流字节缓冲流 —BufferedInputStream&BufferedOutputStream字符缓冲流—BufferedReader&BufferedWriter转换流—InputStreamReader&...
java代码,使用字符流读取文件,让新手了解字符流,以及新手学习字符流。在学习过程中进步,用java中的BufferedOutputStream.
BufferedInputStream bis = new BufferedInputStream(zipFile.getInputStream(entry)); File file = new File(filePath + entry.getName()); //加入这个的原因是zipfile读取文件是随机读取的,这就...
File类概述、File类功能讲解、JAVA IO流概述、字节流、字符流、缓冲流、InputStream、OutputStream、Reader、Writer、...BufferedInputStream、BufferedOutputStream、BufferedReader、BufferedWriter的讲解...
一个代码完整的Java文件上传类,可保存生成缩略图,可编译成class文件供JSP/Servlet调用,应用BufferedInputStream、BufferedOutputStream、FileOutputStream、SimpleDateFormat等类实现文件上传,获得当前的文件...
BufferedInputStream BufferedOutputStream ObjectInputStream ObjectOutputStream ByteArrayInputStream ByteArrayOutputStream 【字符流】 Reader Writer InputStreamReader OutputStreamWriter BufferedReader ...
java中实现复制文件和文件夹 public static void copyFile(File sourceFile,File targetFile) throws IOException{ // 新建文件输入流并对它进行缓冲 FileInputStream input = new FileInputStream(sourceFile)...
BufferedInputStream bins = new BufferedInputStream(ins);// 放到缓冲流里面 OutputStream outs = response.getOutputStream();// 获取文件输出IO流 BufferedOutputStream bouts = new BufferedOutputStream...
FileWriter、FileReader、CharArrayReader、CharArrayWriter、CharSequence、OutputStreamWriter、...BufferedOutputStream、BufferedInputStream、PipedReader、PipedWriter、PipedInputStream、PipedOutputStream...