目录
一、缓冲流的使用
/** * 处理流之一:缓冲流的使用 * BufferedInputStream * BufferedOutputStream * BufferedReader * BufferedWriter * 2、作用:提供流的读取,写入速度 * 提高读写速度的原因,内部提供了一个缓冲区 * * 3、处理流,就是套在已有的流的基础上 * */
public class Bufferedtest {
@Test
public void BufferedInputStreamTest(){
long stast=System.currentTimeMillis();
//1、造文件
File file = new File("花花.png");
File file1 = new File("花花2.png");
//2、造流
//2.1造节点流
FileInputStream fi=null;
FileOutputStream fo=null;
BufferedInputStream bd=null;
BufferedOutputStream bo=null;
try {
fi=new FileInputStream(file);
fo=new FileOutputStream(file1);
//2.2造缓冲流
bd=new BufferedInputStream(fi);
bo=new BufferedOutputStream(fo);
//3、赋值的细节:读取与写入
byte[] bytes=new byte[5];
int len;
while ((len=bd.read(bytes))!=-1){
bo.write(bytes,0,len);
}
System.out.println("完成");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
/*
内层流可以省略,因为关闭外层流的同时,内层流也会关闭
*/
if(bo!=null){
try {
bo.close();
} catch (IOException e) {
e.printStackTrace();
}
}if(bd!=null){
try {
bd.close();
} catch (IOException e) {
e.printStackTrace();
}
}if(fo!=null){
try {
fo.close();
} catch (IOException e) {
e.printStackTrace();
}
}if(fi!=null){
try {
fi.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
long end=System.currentTimeMillis();
System.out.println("方式一所用时间为:"+(end-stast));//42
}
public void copyFile(String str1,String str2){
//1、造文件
File file = new File(str1);
File file1 = new File(str2);
//2、造流
//2.1造节点流
FileInputStream fi=null;
FileOutputStream fo=null;
BufferedInputStream bd=null;
BufferedOutputStream bo=null;
try {
fi=new FileInputStream(file);
fo=new FileOutputStream(file1);
//2.2造缓冲流
bd=new BufferedInputStream(fi);
bo=new BufferedOutputStream(fo);
//3、赋值的细节:读取与写入
byte[] bytes=new byte[5];
int len;
Java IO流详解

本文详细介绍Java中的缓冲流使用方法,包括BufferedInputStream、BufferedOutputStream等,并提供了具体示例代码。此外,还介绍了File类的基本操作及其它相关流的应用。
最低0.47元/天 解锁文章
1415

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



