• BufferedInputSream和BufferedOutputSream,,,


    package cd.itcast.bufferinputstream;
    
    import java.io.BufferedInputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    
    /**
     * 缓冲输入字符流
     * @author Administrator
     *
     */
    public class Demo1 {
        public static void main(String[] args) throws IOException {
            //找到目标
            File file = new File("E:\a.txt");
            //建立输入通道
            FileInputStream fileInputStream = new FileInputStream(file);
            //建立缓冲输入字节流
            //fileInputStream具有读写文件的能力,bufferiInputStream没有。
            BufferedInputStream bufferInputStream = new BufferedInputStream(fileInputStream);
            //读取文件
            int content=0;
            while ((content = bufferInputStream.read())!=-1) {
                System.out.print((char)content);
            }
            //关闭资源,关闭bufferInputStream,就是关闭fileInputStream
            bufferInputStream.close();
        }
    }

    2、

    package cd.itcast.bufferinputstream;
    
    import java.io.BufferedInputStream;
    import java.io.BufferedOutputStream;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    /*
     * 1、使用BufferedOutputStream写数据的时候,他的write()方法是先把数据写到它内部维护的字节数组中。
     * 2、使用BufferedOutputStream写数据的时候,如果需要把数据写到硬盘上,需要调用flush()方法,或者是close()方法,或者是内部维护的字节数组已经填满的时候。
     */
    public class BufferOutputStream {
        public static void main(String[] args) throws IOException {
            //找到目标文件
            File file = new File("E:\a.txt");
            //建立数据通道
            FileOutputStream fileOutputStream = new FileOutputStream(file);
            //建立缓冲输出字节流对象
            BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(fileOutputStream);
            //数据写出,此时写到内存里了
            bufferedOutputStream.write("hello word!".getBytes());
            //写出数据到硬盘bufferedOutputStream.flush()或者Close();
            bufferedOutputStream.close();
        }
    }

     3、复制图片

    package cd.itcast.bufferinputstream;
    
    import java.io.BufferedInputStream;
    import java.io.BufferedOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    
    public class CopyTu {
        public static void main(String[] args) throws IOException {
            File infile = new File("E:\图片\1.jpg");
            File desFile = new File("E:\1.jpg");
            
            FileInputStream fileInputStream = new FileInputStream(infile);
            FileOutputStream fileOutputStream = new FileOutputStream(desFile);
            
            BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream);
            BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(fileOutputStream);
            //read()中如果传入了缓冲数组,则内容是存储到数组中的,返回值是存储到数组中的字节个数。
            //read()如果没有传入缓冲数组,那么返回值是读取到的内容。
            int content=0;
            //边读边写
            while ((content=bufferedInputStream.read())!=-1) {
                bufferedOutputStream.write(content);
                //bufferedOutputStream.flush();不要刷,写一个字节,一刷,这样就没意义啦
            }
            /*执行close()的时候,执行了flush().
             * public void close() throws IOException {
                try {
                  flush();
                } catch (IOException ignored) {
                }
                out.close();
                }*/
            bufferedOutputStream.close();
            bufferedInputStream.close();
        }
    }
  • 相关阅读:
    个人知识库建设:搜集、归类、整理、提纯
    vue学习:定义全局变量并使用
    flask学习:配置https请求
    flask项目部署到云服务器,并通过域名访问后端服务
    微信小程序开发学习系列
    shell数组
    RabbitMQ安装与基本原理
    bootstrap强化模态窗口插件
    多选框插件
    2022全国卷乙卷文科数学解析版|图片
  • 原文地址:https://www.cnblogs.com/h-g-f-s123/p/6062543.html
Copyright © 2020-2023  润新知