字节流缓冲区:

1、BufferedInputStream

构造函数(以字节流为基础进行操作):

常用方法:

代码实例:

 package InputOutput;

 import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.IOException; public class BufferedInputStreamDemo {
public static void main(String[] args) throws IOException {
// 指定文件路径文件路径要准确,文件夹缺失或文件缺失会报错
String path = "E:/JavaCodeDemo/InputOutput/FileXXXStream/Reader/Ace.jpg";
// 创建字节流输入对象
FileInputStream in = new FileInputStream(path);
// 创建缓冲区
BufferedInputStream bin = new BufferedInputStream(in);
// 写入数据,读到最后会返回-1
// 方法一
// int flag1 = -1;
// while ((flag1 = bin.read()) != -1) {
// System.out.println(flag1);
// }
// 方法二(推荐)
byte[] b = new byte[];
int flag2 = -;
while ((flag2 = bin.read(b, , b.length)) != -) {
System.out.println(flag2);
} }
}

2、BufferedOutinputStream

构造方法:

主要方法:

代码实例:

 package InputOutput;

 import java.io.BufferedOutputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream; public class BufferedOutStreamDemo {
public static void main(String[] args) throws IOException {
// 指定文件路径文件路径要准确,文件不存在会自动创建,但是路径不能缺失
String path = "E:/JavaCodeDemo/InputOutput/FileXXXStream/Writer/writer.txt";
// 创建字节流输出对象,true代表在文本末尾添加数据,而不是每次写入都删除后重新写入数据
FileOutputStream out = new FileOutputStream(path, true);
// 创建输出缓冲区
BufferedOutputStream Bout = new BufferedOutputStream(out);
// 调用方法写入数据
byte[] b = "你好,helloWorld".getBytes();
Bout.write(b, , b.length);
Bout.flush();
Bout.close();
}
}

3、缓冲区实现复制文件

代码实例:

 package InputOutput;

 import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException; public class BufferInOutputStreamDemo {
public static void main(String[] args) throws IOException {
// 指定文件路径文件路径要准确,文件夹缺失或文件缺失会报错
String path1 = "E:/JavaCodeDemo/InputOutput/FileXXXStream/Reader/Ace.jpg";
// 创建字节流输入对象
FileInputStream in = new FileInputStream(path1);
// 创建缓冲区
BufferedInputStream Bin = new BufferedInputStream(in);
// 指定文件路径文件路径要准确,文件不存在会自动创建,但是路径不能缺失
String path2 = "E:/JavaCodeDemo/InputOutput/FileXXXStream/Writer/Ace.jpg";
// 创建字节流输出对象,true代表在文本末尾添加数据,而不是每次写入都删除后重新写入数据
FileOutputStream out = new FileOutputStream(path2, true);
// 创建输出缓冲区
BufferedOutputStream Bout = new BufferedOutputStream(out);
// 调用方法读取数据
int flag = -;
byte[] b = new byte[];
while ((flag = Bin.read(b)) != -) {
// 调用方法写数据
Bout.write(b, , flag);
Bout.flush();
}
//关闭资源,先关写再关读
Bout.close();
Bin.close();
}
}

最新文章

  1. wifi 破解
  2. python3 如何使用ip、爬虫
  3. 一个简单的 MVVM 实现
  4. 锁表 for update
  5. UVa 814邮件传输代理的交互
  6. 十、Socket之UDP编程
  7. Element DOM Tree jQuery plugin – Firebug like functionality | RockingCode
  8. box-shadow 被其他div遮住 shadow was hidden/covered by another div
  9. Spring3.0官网文档学习笔记(七)--3.4.2
  10. c语言中gets ,getschar 和fgets 的用法及三者之间的差别
  11. asp.net core 发布centos 7 遇到的坑
  12. 黄金K线理论简述
  13. Mycat 分片规则详解--日期(天)分片
  14. 基于RNN的音频降噪算法 (附完整C代码)
  15. js 新增标签、标签属性
  16. 【Scheme】Huffman树
  17. spring自动类型转换========Converter和PropertyEditor
  18. SQL Server 当表分区遇上唯一约束(转载)
  19. The Unique MST POJ - 1679 最小生成树判重
  20. 在系统启动时,Windows Vista 中、 在 Windows 7 中,Windows Server 2008 中和在 Windows Server 2008 R2 中的 497 天后未关闭 TIME_WAIT 状态的所有 TCP/IP 端口

热门文章

  1. 深入理解JVM(一)--Java 内存区域
  2. 导出Chrome浏览器中保存的密码
  3. Tensorflow和pytorch安装(windows安装)
  4. expect 运行脚本文件 执行postgres数据库操作
  5. coat 彩色的cat
  6. php-fpm.conf.default配置文件
  7. 1138 - Trailing Zeroes (III) 二分
  8. python3配置阿里云短信服务
  9. JVM性能优化系列-(6) 晚期编译优化
  10. linux学习--1. 文件系统