目录

IO流文件拷贝

前言

分析步骤:

数据源: 源文件(E:\...)

目的地: 目标文件(E:\...)

工具: (FileInputStream FileOutputStream...)

字节流(使用FileInputStream和FileOutputStream读取每一个字节...)

  1. public static void copy1(String src,String des) throws Exception{
  2. FileInputStream fis = new FileInputStream(src);
  3. FileOutputStream fos = new FileOutputStream(des);
  4. int b = 0;
  5. while((b = fis.read())!=-1){
  6. fos.write(b);
  7. fos.flush();
  8. }
  9. fis.close();
  10. fos.close();
  11. }

字节流(使用FileInputStream和FileOutputStream一次读取一个byte数组...)

  1. public static void copy2(String src,String des)throws Exception{
  2. FileInputStream fis = new FileInputStream(src);
  3. FileOutputStream fos = new FileOutputStream(des);
  4. int len = 0;
  5. byte[] b = new byte[1024];
  6. while((len = fis.read(b))!=-1){
  7. fos.write(b,0,len);
  8. fos.flush();
  9. }
  10. fis.close();
  11. fos.close();
  12. }

高效字节缓冲流(使用BufferedInputStream和BufferedOutputStream一次性读取一个字节)

  1. public static void copy3(String src,String des)throws Exception{
  2. BufferedInputStream bis = new BufferedInputStream(new FileInputStream(src));
  3. BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(des));
  4. int b = 0;
  5. while((b=bis.read())!=-1){
  6. bos.write(b);
  7. bos.flush();
  8. }
  9. bis.close();
  10. bos.close();
  11. }

高效字节缓冲流(使用BufferedInputStream和BufferedOutputStream一次性读取一个字节数组)

  1. public static void copy4(String src,String des)throws Exception{
  2. BufferedInputStream bis = new BufferedInputStream(new FileInputStream(src));
  3. BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(des));
  4. int len = 0;
  5. byte[] b = new byte[1024];
  6. while((len = bis.read(b))!=-1){
  7. bos.write(b, 0, len);
  8. bos.flush();
  9. }
  10. bis.close();
  11. bos.close();
  12. }

字符流(使用FileReader和FileWriter读取每一个字符)

  1. public static void copy5(String src,String des)throws Exception{
  2. FileReader fr = new FileReader(src);
  3. FileWriter fw = new FileWriter(des);
  4. int b = 0;
  5. while((b = fr.read())!=-1){
  6. fw.write(b);
  7. fw.flush();
  8. }
  9. fr.close();
  10. fw.close();
  11. }

字符流(使用FileReader和FileWriter读取每一个字符数组)

  1. public static void copy6(String src,String des)throws Exception{
  2. FileReader fr = new FileReader(src);
  3. FileWriter fw = new FileWriter(des);
  4. int len = 0;
  5. char[] b =new char[1024];
  6. while((len = fr.read(b))!=-1){
  7. fw.write(b,0,len);
  8. fw.flush();
  9. }
  10. fr.close();
  11. fw.close();
  12. }

高效字符缓冲流(使用BufferedReader和BufferedWriter读取每一个字符)

  1. public static void copy7(String src,String des)throws Exception{
  2. BufferedReader br = new BufferedReader(new FileReader(src));
  3. BufferedWriter bw = new BufferedWriter(new FileWriter(des));
  4. int b = 0;
  5. while((b = br.read())!=-1){
  6. bw.write(b);
  7. bw.flush();
  8. }
  9. br.close();
  10. bw.close();
  11. }

高效字符缓冲流(使用BufferedReader和BufferedWriter读取每一个字符数组)

  1. public static void copy8(String src,String des)throws Exception{
  2. BufferedReader br = new BufferedReader(new FileReader(src));
  3. BufferedWriter bw = new BufferedWriter(new FileWriter(des));
  4. int len = 0;
  5. char[] b = new char[1024];
  6. while((len = br.read(b))!=-1){
  7. bw.write(b,0,len);
  8. bw.flush();
  9. }
  10. br.close();
  11. bw.close();
  12. }

高效字符缓冲流(使用BufferedReader和BufferedWriter读取每一行)

  1. public static void copy9(String src,String des)throws Exception{
  2. BufferedReader br = new BufferedReader(new FileReader(src));
  3. BufferedWriter bw = new BufferedWriter(new FileWriter(des));
  4. String s =null;
  5. while((s = br.readLine())!=null){
  6. bw.write(s);
  7. bw.newLine();
  8. bw.flush();
  9. }
  10. br.close();
  11. bw.close();
  12. }

持续更新...

@Fzxey

IO流文件拷贝的更多相关文章

  1. Java IO 流-- 文件拷贝

    IO流操作套路: 1.创建源: 2.选择流: 3.操作: 4.释放资源 上代码: package com.xzlf.io; import java.io.File; import java.io.Fi ...

  2. IO流-文件拷贝

    其实文件的拷贝还是文件读取写入的应用,实际是读取此路径上的文件,然后写入到指定路径下的文件. 代码举例: import java.io.*; import java.lang.*; class Tes ...

  3. java IO流文件拷贝文件(字符流标准写法)

    public static void copyFile2(String path1, String path2) { Reader reader = null; Writer writer = nul ...

  4. java IO流文件拷贝文件(字节流标准写法)

    public static void copyFile(String srcPath, String destPath) { FileInputStream fis = null; FileOutpu ...

  5. IO流-文件夹的拷贝

    文件夹的拷贝操作 要求: 完成文件夹的拷贝,包括子目录的拷贝和所有文件的拷贝 分析: 首先,得在目标目录下创建一个与源文件夹名称相同的文件夹 遍历源文件夹中的所有文件对象,判断子文件是目录还是文件 如 ...

  6. 【Android】数据存储-java IO流文件存储

    1.数据持久化:将在内存中的瞬时数据保存在存储设备中.瞬时数据:设备关机数据丢失.持久化技术提供一种机制可以让数据在瞬时状态和持久状态之间转换. 2.Android中简单的三种存储方式:文件存储.Sh ...

  7. java IO流文件的读写具体实例

    IO流的分类:1.根据流的数据对象来分:高端流:所有的内存中的流都是高端流,比如:InputStreamReader  低端流:所有的外界设备中的流都是低端流,比如InputStream,Output ...

  8. java IO流文件的读写具体实例(转载)

    引言: 关于java IO流的操作是非常常见的,基本上每个项目都会用到,每次遇到都是去网上找一找就行了,屡试不爽.上次突然一个同事问了我java文件的读取,我一下子就懵了第一反应就是去网上找,虽然也能 ...

  9. Java IO编程——文件拷贝

    在操作系统里面有一个copy命令,这个命令的主要功能是可以实现文件的拷贝处理,现在要求模拟这个命令,通过初始化参数输入拷贝的源文件路径与拷贝的目标路径实现文件的拷贝处理. 需求分析: ·需要实现文件的 ...

随机推荐

  1. Linux 系统查看服务器SN序列号以及服务器型号

    1.单独查看服务器的序列号 [root@localhost ~]# dmidecode -t system | grep 'Serial Number' Serial Number: 2102310Y ...

  2. Python 进阶 - 面向对象

    Python 面向对象 面向过程 把完成某个需求的所有步骤,从头到尾逐步实现 根据开发需求,将某些功能独立的代码封装成一个又一个函数 最后完成的代码,就是顺序地调用不同的函数 面向过程特点: 注重步骤 ...

  3. 关于ebay平台接口(php)对接示例

    获取订单接口示例 public function importEbayOrder(){ set_time_limit(0); if(empty( $this->_ShopApiEbay-> ...

  4. gcc -c xx.c 选项讲解

    -c选项表示编译.汇编指定的源文件(也就是编译源文件),但是不进行链接.使用-c选项可以将每一个源文件编译成对应的目标文件. 目标文件是一种中间文件或者临时文件,如果不设置该选项,gcc 一般不会保留 ...

  5. 使用tensorflow的retrain.py训练图片分类器

    参考 https://hackernoon.com/creating-insanely-fast-image-classifiers-with-mobilenet-in-tensorflow-f030 ...

  6. 19)PHP,数组知识

    (1)数组的基础 在PHP中,数组的下标可以是数字,也可以是字符串 在PHP中,数组元素的顺序不是由下标决定的,而是由其加入的的顺序决定 (2)数组定义: array(1,5,11,'abs',tru ...

  7. oracle时间处理tochar的黑幕坑

    建议改成 在用别人黑不隆东,各种商业套路洗脑下的产品时,能简约弱智就被给自己留坑 做技术没踩过h2这类开源数据库的源码设计,即使砸了一堆时间看了<数据库系统基础教程>,<数据库系统实 ...

  8. 74cms_3.5.1 宽字节注入

    第一次进行CMS的代码审计,我选择了2014年发布的74CMS 3.5.1,历史比较久远的CMS往往存在更多的问题,虽然技术上难度不大,但是在思路方面给了我很大的启发.下面我根据我的思路给大家分享一下 ...

  9. 创想变现:斯坦福设计创新课堂ME310分享(下篇)

    编者按:今年6月,微软亚洲研究院人机交互组研究员顾嘉唯,在美国斯坦福大学担任了D-School的ME310设计课程的项目评审.该课程是斯坦福大学的全球联合新产品设计创新课程,学习方式以小组为单位,每个 ...

  10. jeesite 去掉 /a

    1.修改 jeesite.properties文件 adminPath=/a为 adminPath= 2.修改 web.xml文件找到如下设置 <filter-mapping> <f ...