InputStream in = new BufferedInputStream(new FileInputStream(src))
OutputStream out = new BufferedOutputStream(new FileOutputStream(src))
package IOStudy;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
/**
* 处理流:装饰流
*
* 字节缓冲流:提高读写性能
* BufferedInputStream
* BufferedOutputStream
*
* 1.缓冲流提升性能
* 2.任何处理流底层都是节点流
* 3.流只需要释放最外层的处理流(装饰流),处理流会自动释放内部的节点流,如果想手动释放流需要从里到外依次释放
*
* BufferedInputStream(InputStream in,int size) 创建指定缓冲区大小的BufferedInputStream,并保存其参数,输入流in供以后使用.
* 默认8K,可以自己指定
*
*
* 四个步骤: 分段读取,加入缓冲流
* 1.创建源
* 2.选择流
* 3.操作
* 4.释放资源
* @author pmc
*
*/
public class chuliliuIO3 {
public static void main(String[] args) {
long t1=System.currentTimeMillis();
xFile();
long t2=System.currentTimeMillis();
dFile();
System.out.println(t2-t1);
}
//分段读取
private static void dFile(){
//创建源
File src=new File("txt.txt");
//选择流
InputStream in=null;
try{
in=new BufferedInputStream(new FileInputStream(src));
byte[] temp=new byte[10];
int len=0;
while((len=in.read(temp))!=-1){
System.out.print(new String(temp,0,len));
}
}catch(IOException e){
e.printStackTrace();
}finally{
if(in!=null){
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
//分段写入
private static void xFile(){
//1.创建源
File src=new File("txt.txt");
//2.选择流
OutputStream out=null;
try{
out=new BufferedOutputStream(new FileOutputStream(src,true));
String msg="my code\n";
out.write(msg.getBytes());
out.flush();
}catch(IOException e){
e.printStackTrace();
}finally{
if(out!=null){
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
//自动释放资源try()...
private static void xsFile(){
//1.创建源
File src=new File("txt.txt");
//2.选择流
try(OutputStream out=new BufferedOutputStream(new FileOutputStream(src,true))){
String msg="my code\n";
out.write(msg.getBytes());
out.flush();
}catch(IOException e){
e.printStackTrace();
}
}
}
本文详细介绍了Java中用于提高I/O性能的缓冲流BufferedInputStream和BufferedOutputStream,讲解了它们如何通过内部默认8KB缓冲区提升读写效率,并提供了使用示例,包括如何创建及如何与FileInputStream和FileOutputStream结合使用。

1127

被折叠的 条评论
为什么被折叠?



