字节缓冲流 ( 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;

/*
 * 字节缓冲流
 * BufferedInputStream
 * BufferedOutputStream
 * 实现Copy文件操作
 */
public class TestBCopy {
    public static void main(String[] args){
        BufferedInputStream bis = null;
        BufferedOutputStream bos = null;
        try {
            //输入流
            bis = new BufferedInputStream(new FileInputStream("F:\\马士兵.zip"));
            //输出流
            bos = new BufferedOutputStream(new FileOutputStream("G:\\CopyDest.zip"));
            //新建字节数组
            byte[] b = new byte[1024];
            //第一步:读取文件到程序
            int len = 0;
            while((len = bis.read(b)) != -1){//读取文件到数组 同时返回数据长度
                System.out.println(len);
                bos.write(b, 0, len);//第二步:再从程序读到文件   System.arraycopy
            }
            System.out.println("Copy操作完成!");

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }finally{
            if(bis != null){//确定流打开再关闭
                try {
                    bis.close();//关闭流
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            if(bos != null){
                try {
                    bos.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}
时间: 2024-11-05 21:24:16

字节缓冲流 ( BufferedInputStream / BufferedOutputStream)的相关文章

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

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

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

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

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

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

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]

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

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

JAVA字节缓冲流代码实现所有类型文件的复制

import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException; public class CopyAll {    public static void main(String[] args) {  

字节缓冲流 BufferedOutputStream BufferedInputStream

/*缓冲流:读取数据大量的文件时,读取的速度慢java提供了一套缓冲流 提高io流的效率 * */ package cn.lijun.demo; import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.FileNotFoundException; /* * 字节输入流的缓冲流 * 继承InputStream * 构造方法 */ public class BufferedInputStre

缓冲输入输出流[也叫包装流] BufferedInputStream,BufferedOutputStream,BufferedReader和BufferedWriter

字符缓冲流: 开发时候建议使用缓冲流,速度和效率更快.BufferedReader的api部分: BufferedInputStream 部分api: 可以看出 BufferedInputStream是没有readLine()方法.更多具体,请自行查看api文档 package cn.bean.demo.io.buffer; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReade

IO(三)IO流之字节流与字节缓冲流(转)

在I/O类库中,java.io.InputStream和java.io.OutputStream分别表示字节输入流和字节输出流,它们都是抽象类,不能实例化,数据流中的最小单位是字节,所以叫做字节流. 一.InputStream中的读取数据的方法如下: 1 .int read() 功能:读取一个字节的数据,并且返回读到得数据,如果返回-1,则表示读到输入流的末尾. 2.int read(byte[] b) 功能:从输入流中读取一定量的字节,并将其存储在字节数组b中,返回实际读取的字节数,如果返回-