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();
                }
            }
        }
    
    }
    
    
  • 相关阅读:
    暴力+前缀和——cf1335E
    【经典】区间dp——cf1336E
    简单几何+并查集 —— 2015NAQ K
    spring mvc 文件上传 和 异常页面处理
    ajax 入门
    Codeforces Round #558 (Div. 2)
    [SDOI2019]热闹又尴尬的聚会(图论+set+构造)
    [SDOI2019]移动金币(博弈论+阶梯Nim+按位DP)
    [ZJOI2019]浙江省选(半平面交)
    [ZJOI2019]开关(生成函数+背包DP)
  • 原文地址:https://www.cnblogs.com/elnimo/p/13251879.html
Copyright © 2011-2022 走看看