IO流 - 复制文件(字节缓冲流+字节流)

一、什么是缓冲流

缓冲流的内部都包含一个缓冲区,通过缓冲区读写,可以提高了IO流的读写速度。

二、缓冲流+字节流复制文件

//明确数据源
        FileInputStream fis=new FileInputStream("D:\\java1018\\buffer.txt");
        //明确目的地
        FileOutputStream fos=new FileOutputStream("D:\\java1018\\a\\buffer2.txt");
        //创建缓冲流对象
        //输入
        BufferedInputStream bis=new BufferedInputStream(fis);
        //输出
        BufferedOutputStream bos=new BufferedOutputStream(fos);

        int len=0;
        //1.单字节复制
        while ((len=bis.read())!=-1) {
            bos.write(len);

        }
        //2.字节数组复制
        byte [] bytes=new byte[1024];
        while ((len=bis.read(bytes))!=-1) {
            bos.write(bytes,0,len);

        }
        //释放资源
        bis.close();
        bos.close();

原文地址:https://www.cnblogs.com/l1314/p/12361009.html

时间: 2024-10-06 22:07:49

IO流 - 复制文件(字节缓冲流+字节流)的相关文章

IO流 - 复制文件(字符流)

一.单字符复制 //明确数据源 FileReader fr=new FileReader("D:\\java1018\\buffer.txt"); //明确目的地 FileWriter fw=new FileWriter("D:\\java1018\\b\\buffer.txt"); //创建字符缓冲流对象 BufferedReader br=new BufferedReader(fr); BufferedWriter bw=new BufferedWriter(f

java字节缓冲流和字符缓冲流

一.字节缓冲流 1.介绍 字节缓冲流根据流的方向,分为: 1.写入数据到流中,字节缓冲输出流 BufferedOutputStream 2.读取流中的数据,字节缓冲输入流 BufferedInputStream 它们的内部都包含了一个缓冲区,通过缓冲区读写,就可以提高了IO流的读写速度 2.字节缓冲输出流BufferedOutputStream 构造方法: public BufferedOutputStream(OutputStream out):创建一个新的缓冲输出流,以将数据写入指定的底层输

编码表、字节流、字节缓冲流

概念:     字节流不需要刷新(byte) 字符流需要刷新(char) IO流:input(通过Java程序往内存里读取) output(通过Java程序往硬盘上外写出) 输入输出流 * IO流的分类 *          按照操作的数据不同 *                 字节流:操作字节,由于计算机上一切皆是字节,字节流可以操作一切数据 *                 字符流:操作字符,只能操作文本文件 *                 文本文件:能使用文本工具 打开 看懂的叫做

使用IO流复制文件夹(包括子目录)

IO流用于处理设备上的数据(包括硬盘,内存,键盘录入). IO流可根据流向不同分为输入流和输出流,根据处理数据类型不同分为字节流和字符流. 字符流的由来: 因为数据编码的不同,而有了对字符进行高效操作的流对象.本质其实就是基于字节流读取时,去查了指定的码表. 字节流和字符流的区别: a.读写单位不同:字节流以字节(8bit)为单位,字符流以字符为单位,根据码表映射字符,一次可能读多个字节. b.处理对象不同:字节流能处理所有类型的数据(如图片.avi等),而字符流只能处理字符类型的数据. 结论:

Java IO 过滤流 字节缓冲流 BufferedInput/OutputStream

Java IO 过滤流 字节缓冲流 BufferedInput/OutputStream @author ixenos 概念 BufferedInput/OutputStream是实现缓存的过滤流,他们分别是FilterInput/OutputStream的子类. BufferedInputStream工作流程 stream-->buf--read buf-->I 1.当一个BufferedInputStream被创建时,一个内部的缓冲区 byte[] buf = new byte[size]

文件流之字节缓冲流(BufferedInputStream BufferedOutputStream)

缓冲流的优势是: BufferedInputStream: 输入缓冲流:先从磁盘中将要读取的内容放入到内存中,再一次性从内存中取出来,避免了读一段取一段: BufferedOutputStream: 输出缓冲流:先将要输出的内容放入到内存中,再一次性全都输出. 缓冲流的构造函数: public BufferedInputStream(InputStream in) { this (in, DEFAULT_BUFFER_SIZE); } public BufferedInputStream(Inp

字节缓冲流 ( BufferedInputStream / BufferedOutputStream)

package com.sxt.reader; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; /* * 字节缓冲流 * BufferedI

java _io_字节缓冲流(装饰器)输入、输出

*装饰模式 字节缓冲流 BufferedInputStream bis=new BufferedInputStream(inputStream is) BufferedOutputStream bos=new BufferedOutputStream(OutputStream os) 最底层一定是节点流 只需要释放最外层的处理流,若要手动关闭遵循从里到外的顺序关闭(从字节流到处理流) 默认为8k,可以改变//参数是字节输入流对象InputStream is =new BufferedInputS

IO流,字节流复制文件,字符流+缓冲复制文件

JAVAIO如果按流向分:输入流和输出流两种 输入流的基类:InputStream   Reader 输出流的基类:OutputStream   Writer 如果按数据单元划分:字节流和字符流 字节流输入输出的基类:InputStream  OutputStream 字符流输入输出的基类:Reader   Writer 字节流复制文件内容 public static void main(String[] args) { //字节流复制文件内容 InputStream io=null; Outp