zoukankan      html  css  js  c++  java
  • JAVA基础复习-输入、输出缓冲字节流整合(实现图片复制)

    缓冲流属于高级流 主要作用:提高读取、写入的速度(原理:缓冲流内部提供了一个缓冲区)

    一、BufferedInputStream:输入缓冲流,BufferedOutputStream:输出缓冲流

    二、资源关闭:先关闭外层的流,再关闭内层的流(关闭外层的流的同时,内层流也会自动的关闭,所以内层流的关闭可以省略)

    package com.winson.iotest;
    
    import org.junit.Test;
    
    import java.io.*;
    
    /**
     * @description: 输入、输出缓冲流整合(实现图片复制)
     * @date: 2020/7/5 21:02
     * @author: winson
     */
    public class BufferedInputStreamBufferedOutputStreamTest {
    
        @Test
        public void test1() {
            BufferedInputStream bufferedInputStream = null;
            BufferedOutputStream bufferedOutputStream = null;
            try {
                //1、造文件
                File srcFile = new File("ludashi.jpg");
                File desFile = new File("ludashi_out.jpg");
                //2、造节点流
                FileInputStream fileInputStream = new FileInputStream(srcFile);
                FileOutputStream fileOutputStream = new FileOutputStream(desFile);
                //3、造缓冲流
                bufferedInputStream = new BufferedInputStream(fileInputStream);
                bufferedOutputStream = new BufferedOutputStream(fileOutputStream);
                //4、复制的细节:读取、写入
                byte[] bytes = new byte[1024];
                int len;
                while ((len = bufferedInputStream.read(bytes)) != -1) {
                    bufferedOutputStream.write(bytes, 0, len);
                }
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                //4、资源关闭:先关闭外层的流,再关闭内层的流
                //说明:关闭外层的流的同时,内层流也会自动的关闭,所以内层流的关闭可以省略;
                try {
                    bufferedOutputStream.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
                try {
                    bufferedInputStream.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    
    }
    
    
  • 相关阅读:
    Spring IOC三种注入方式(接口注入、setter注入、构造器注入)(摘抄)
    java设计模式之代理模式
    JAVA学习中好网站
    程序员学习能力提升三要素
    ognl中的#、%和$
    二级缓存
    hibernate主键自动生成
    专科考研学校要求一览表
    Chapter 3: Connector(连接器)
    Chapter 2: A Simple Servlet Container
  • 原文地址:https://www.cnblogs.com/elnimo/p/13251879.html
Copyright © 2011-2022 走看看