缓冲字节流

public class BufferTest {
public static void main(String[] args) throws Exception {
// testBufferedInputStream();
// testBufferedOutputStream();
copyFile();
}
/*
缓冲字节输入流
*/
public static void testBufferedInputStream() throws Exception{
//文件字节输入流对象
FileInputStream in = new FileInputStream("C:\\Users\\Administrator\\Desktop\\JavaSE\\基本语法\\src\\com\\缓冲流\\tt");
//把文件字节输入流放到缓冲字节输入流对象
BufferedInputStream br = new BufferedInputStream(in);
byte[] b = new byte[1024];
int len = 0;
while ((len = br.read(b)) != -1){
System.out.println(new String(b,0,len));
}
//最晚开的流最早关,然后依次关
br.close();
in.close();
}
/*
缓冲字节输出流
*/
public static void testBufferedOutputStream() throws Exception{
FileOutputStream fileOutputStream = new FileOutputStream("C:\\Users\\Administrator\\Desktop\\JavaSE\\基本语法\\src\\com\\缓冲流\\tt1");
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(fileOutputStream);
String s = "helloworld";
bufferedOutputStream.write(s.getBytes());//写到内存中
bufferedOutputStream.flush();//刷写到硬盘上
bufferedOutputStream.close();
fileOutputStream.close();
}
/*
用缓冲流实现文件的复制
*/
public static void copyFile() throws Exception{
BufferedInputStream bufferedInputStream = new BufferedInputStream(new FileInputStream("C:\\Users\\Administrator\\Desktop\\JavaSE\\基本语法\\src\\com\\缓冲流\\tt1"));
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(new FileOutputStream("C:\\Users\\Administrator\\Desktop\\JavaSE\\基本语法\\src\\com\\缓冲流\\tt"));
byte[] b = new byte[1024];
int len = 0;
//设置一个读取的数据长度,直到bufferedOutputStream.read方法执行到最后(比方说,文件中只有helloworld,执行到最后一个就是读取d的后面,这时候返回值为-1)
while ((len = bufferedInputStream.read(b)) != -1){
bufferedOutputStream.write(b,0,len);
}
bufferedOutputStream.flush();
bufferedOutputStream.close();
bufferedInputStream.close();
}
}
posted @   SmallPepsi  阅读(30)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示