package ioDemo;

import java.io.*;

/**
* IO流(字节流复制)
* Created by lcj on 2017/11/2.
*/
public class bufferReadWrintDemo {
//声明异常
public static void main(String[] args) throws IOException {
// copy01();
copy02();
// copy03();
// copy04();
}
//自定义缓冲区
public static void copy01() throws IOException
{
FileInputStream fileInputStream = new FileInputStream("D:\\Project\\IdeaProjects\\test01_time\\src\\main\\java\\ioDemo\\2.txt");
FileOutputStream fileOutputStream= new FileOutputStream("D:\\Project\\IdeaProjects\\test01_time\\src\\main\\java\\ioDemo\\1.txt");
//声明数组大小
byte[] buf01 = new byte[1024];
int len01 = 0 ;
while ((len01 = fileInputStream.read(buf01) )!= -1)
{
fileOutputStream.write(buf01,0,len01);//将buf01中数据写入至len01中
}
}
//自定义缓冲区方法BufferedInputStream
public static void copy02() throws IOException
{
FileInputStream fileInputStream = new FileInputStream("D:\\Project\\IdeaProjects\\test01_time\\src\\main\\java\\ioDemo\\2.txt");
BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream); FileOutputStream fileOutputStream= new FileOutputStream("D:\\Project\\IdeaProjects\\test01_time\\src\\main\\java\\ioDemo\\22.txt");
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(fileOutputStream); byte[] buf02 = new byte[1024];
int len02 = 0 ;
while ((len02 = bufferedInputStream.read(buf02)) != -1)
{
bufferedOutputStream.write(buf02,0,len02);
bufferedOutputStream.flush(); //刷新缓冲区数据
}
bufferedInputStream.close();
bufferedOutputStream.close();
}
//不建议使用此方法,此方法按照字节读取,效率低
public static void copy03() throws IOException
{
FileInputStream fileInputStream = new FileInputStream("D:\\Project\\IdeaProjects\\test01_time\\src\\main\\java\\ioDemo\\2.txt");
FileOutputStream fileOutputStream= new FileOutputStream("D:\\Project\\IdeaProjects\\test01_time\\src\\main\\java\\ioDemo\\3.txt"); int len03 = 0;
while ((len03 = fileInputStream.read()) != -1)
{
fileOutputStream.write(len03);
}
fileInputStream.close();
fileOutputStream.close();
}
///
public static void copy04() throws IOException
{
FileInputStream fileInputStream = new FileInputStream("D:\\Project\\IdeaProjects\\test01_time\\src\\main\\java\\ioDemo\\2.txt");
FileOutputStream fileOutputStream= new FileOutputStream("D:\\Project\\IdeaProjects\\test01_time\\src\\main\\java\\ioDemo\\4.txt"); byte[] buf = new byte[1024];
int len = 0;
while ((len = fileInputStream.read(buf)) != -1)
{
fileOutputStream.write(buf, 0, len);
// System.out.println(new String(buf ,0 ,len));
}
fileOutputStream.close();
fileInputStream.close();
} }

IO流(字节流复制)01的更多相关文章

  1. Java之IO流(字节流,字符流)

    IO流和Properties IO流 IO流是指计算机与外部世界或者一个程序与计算机的其余部分的之间的接口.它对于任何计算机系统都非常关键, 因而所有 I/O 的主体实际上是内置在操作系统中的.单独的 ...

  2. Java io流完成复制粘贴功能

    JAVA 中io字节输入输出流 完成复制粘贴功能: public static void main(String[] args) throws Exception{        // 创建输入流要读 ...

  3. IO流——字节流、字符流

    在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成. 流的分类 ①   流按其流向分为“输入流”和“输出 ...

  4. JAVA之IO流(字节流)

    输入和输出 JAVA的流分为输入流和输出流两部分, 输入流:InputStream或者Reader:从文件中读到程序中: 输出流:OutputStream或者Writer:从程序中输出到文件中: Re ...

  5. IO流(字节流,字符流,缓冲流)

    一:IO流的分类(组织架构) 根据处理数据类型的不同分为:字节流和字符流 根据数据流向不同分为:输入流和输出流   这么庞大的体系里面,常用的就那么几个,我们把它们抽取出来,如下图:   二:字符字节 ...

  6. Java IO流-字节流

    2017-11-05 17:48:17 Java中的IO流按数据类型分类分为两种,一是字节流,二是字符流.字符流的出现是为了简化文本数据的读入和写出操作. 如果操作的文件是文本文件,那么使用字符流会大 ...

  7. 021.3 IO流——字节流-FileInputStream读取字节

    内容:文件读取方法,读取方法例子,read(buf)方法中buf的取值,字节流缓冲区对象—提高读取速度/// 文件读取方法:fis.read(),fis.read(buf),具体看例子 例子:文件读取 ...

  8. Java—IO流 字节流

    IO流(输入流.输出流),又分为字节流.字符流. 流是磁盘或其它外围设备中存储的数据的源点或终点. 输入流:程序从输入流读取数据源.数据源包括外界(键盘.文件.网络…),即是将数据源读入到程序的通信通 ...

  9. IO流——字节流

    文件输出流 FileOutputStream:文件输出流是用于将数据写入 File,每次运行,都会覆盖之前文件中的数据 FileOutputStream(File file):创建一个向指定 File ...

  10. JAVA基础——IO流字节流

    在Java中把不同的输入输出源(键盘.文件.网路连接)抽象表述为“流”. 1.输入流.输出流 .字节输入流通过FileInputStream和来操作 字节输出流通过FileOutputStream来操 ...

随机推荐

  1. python 以及 pywin32添加注册表

    python 添加注册表信息: import sys from winreg import * # tweak as necessary version = sys.version[:3] insta ...

  2. 开门人和关门人(结构体+sort)

    每天第一个到机房的人要把门打开,最后一个离开的人要把门关好.现有一堆杂乱的机房签 到.签离记录,请根据记录找出当天开门和关门的人.    Input 测试输入的第一行给出记录的总天数N ( > ...

  3. C#如何根据DataTable生成泛型List或者动态类型list

    背景:在项目中,sql语句检索返回DataTable,然后根据检索结果做进一步的操作,本篇文章即是介绍如何将DataTable快速生成泛型List返回. 假设存在如下学生类: public class ...

  4. ES6(Proxy 和 Reflect)

    Proxy 和 Reflect 1.Proxy 和 Reflect 的概念 Proxy 意为 ‘代理’,连接了用户和真实对象之间的一个层 Reflect 意为‘反射’   反射的是Object 2.适 ...

  5. 【转】亿级Web系统搭建——单机到分布式集群

    当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的压力会越来越大,在这个过程中,我们会遇到很多的问题.为了解决这些性能压力带来问题,我们需要在Web系统架构层 ...

  6. Ext.js双击事件

    /** * 联系人列表panel */ Ext.define('Op.OpBill.OpBillCustLinkGridPanel', { extend: 'Ext.grid.Panel', id: ...

  7. Flask--init和run启动研究---xunfeng巡风实例篇

    第一: 首先在view目录下的__init__.py文件定义好 (1) Flask实例 : app = Flask(__name__) (2) 数据库实例 Mongo = Conn.MongoDB(a ...

  8. PTA 04-树6 Complete Binary Search Tree (30分)

    题目地址 https://pta.patest.cn/pta/test/16/exam/4/question/669 5-7 Complete Binary Search Tree   (30分) A ...

  9. 【多校训练2】HDU 6047 Maximum Sequence

    http://acm.hdu.edu.cn/showproblem.php?pid=6047 [题意] 给定两个长度为n的序列a和b,现在要通过一定的规则找到可行的a_n+1.....a_2n,求su ...

  10. 由八数码问题引入。对BFS有更深考虑

    12号到今天共研究八数码问题poj1077,首先用的是普通BFS,遇到很多问题,开始用一个二级指针作为结构成员,知道了二级指针与二维数值名的不同!http://write.blog.csdn.net/ ...