【Java IO】带缓冲的任意文件的复制
来源:互联网 发布:未来10年php和java比较 编辑:程序博客网 时间:2024/05/30 05:06
/** * 带缓冲功能(缓冲大小8K)的任意文件的复制(字节流) * @author MJN * @date 2011-10-03 */public class FileCopyWithBuffer { public static void main(String[] args) { InputStream in = null; OutputStream out = null; byte[] buf = new byte[8 * 1024]; int n = -1; //记录每次读取的实际字节长度 try { in = new FileInputStream("1.jpg"); //文件1.jpg在工程的根目录下 out = new FileOutputStream("1_copy.jpg"); while ((n = in.read(buf)) != -1) { /* * 若写成out.write(buf), 则最后一次写入的总是8K字节 * 即使最后一次读的字节数不一定为8K */ out.write(buf, 0, n); } } catch (FileNotFoundException e) { System.out.println("file not found."); } catch (IOException e) { System.out.println("error happened."); } finally { try { if (in != null) { in.close(); } if (out != null) { out.flush(); out.close(); } } catch (Exception e) {} } }}
另外, 若要缓冲读取文件也可以用BufferedInputStream:
InputStream in = new BufferedInputStream( new FileInputStream("in.txt"), 8 * 1024);
注意: 初始化时, 缓冲大小最好是1024的整数倍, 以使底层的操作达到最优化.
References:
NNU姜老师的课堂源码'java_course'
- 【Java IO】带缓冲的任意文件的复制
- java--IO 使用带缓冲功能的字节流复制文件
- 3、不带缓冲的文件IO
- 3(文件IO,不带缓冲的IO)
- 带缓冲的IO和不带缓冲的IO
- 不带缓冲的IO
- 带缓冲IO与不带缓冲的IO
- Java IO流 文件的复制的几种方法(字节流,字符流,缓冲流)
- 用带缓冲的字节流重写文件复制
- 多线程编程实例:不带缓冲的多线程文件复制
- Unix中的不带缓冲的文件IO
- 用标准IO(带缓冲的IO)实现从stdin复制到stdout
- JAVA IO :使用带缓冲的字节流读写数据
- 不带缓冲io的理解
- 黑马程序员--带内容的文件复制 io
- java IO 之文件的复制
- Java IO实现文件的复制
- Java的IO流复制文件
- Keepalived 双机热备
- 详细解析java 中抽象类与接口的区别
- 比较ASCII字符(用户权限)
- NGTP纲要(compendium)续二
- myeclipse开发与部署原理
- 【Java IO】带缓冲的任意文件的复制
- 记录:LAMP
- const
- 记录:SoLoMo
- 课设解放咯
- 线程安全
- 记录:O2O
- [NOIP1998]连接多位数
- 浏览器如何工作的