zoukankan      html  css  js  c++  java
  • BufferedOutputStream

    import java.io.BufferedOutputStream;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    
    /*
    输出字节流
    --------| OutputStream  所有输出字节流的基类  抽象类
    ------------| FileOutputStream 向文件 输出数据 的输出字节流
    ------------| Bufferedoutputstream  缓冲输出字节流    BufferedOutputStream出现的目的是为了提高写数据的效率。 
                                    内部也是维护了一个8kb的字节数组而已。
     
     使用BufferedOutputStream的步骤:
         1. 找到目标文件
         2. 建立数据的输出通道
    
     
    BufferedOutputStream 要注意的细节
        1. 使用BufferedOutStream写数据的时候,它的write方法是是先把数据写到它内部维护的字节数组中。
         2. 使用BufferedOutStream写数据的时候,它的write方法是是先把数据写到它内部维护的字节数组中,如果需要把数据真正的写到硬盘上面,需要
         调用flush方法或者是close方法、 或者是内部维护的字节数组已经填满数据的时候。
         
    
     
     */
    public class Demo2 {
    
        public static void main(String[] args) throws IOException {
            //找到目标文件
            File file = new File("F:\a.txt");
            //建立数据的输出通道
            FileOutputStream  fileOutputStream = new FileOutputStream(file);
            //建立缓冲输出字节流对象
            BufferedOutputStream bufferedOutputStream  = new BufferedOutputStream(fileOutputStream);
            //把数据写出
            bufferedOutputStream.write("hello world".getBytes()); 
            //把缓冲数组中内部的数据写到硬盘上面。
            //bufferedOutputStream.flush();
            bufferedOutputStream.close();
        }
        
    }
    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 CopyImage {
    
        public static void main(String[] args) throws IOException {
            //找到目标文件
            File  inFile = new File("F:\美女\1.jpg");
            File outFile = new File("E:\1.jpg");
            //建立数据输入输出通道
            FileInputStream fileInputStream = new FileInputStream(inFile);
            FileOutputStream fileOutputStream = new FileOutputStream(outFile);
            //建立缓冲输入输出流
            BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream);
            BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(fileOutputStream);
            //边读边写
            int content = 0; 
            // int length = bufferedInputStream.read(buf);   如果传入了缓冲数组,内容是存储到缓冲数组中,返回值是存储到缓冲数组中的字节个数。
            while((content = bufferedInputStream.read())!=-1){ // 如果使用read方法没有传入缓冲数组,那么返回值是读取到的内容。
                bufferedOutputStream.write(content);
    //            bufferedOutputStream.flush();
            }
            //关闭资源
            bufferedInputStream.close();
            bufferedOutputStream.close();
            
            
            
        }
        
    }
  • 相关阅读:
    PyQt4布局管理——绝对定位方式
    PyQt4 菜单栏 + 工具栏 + 状态栏 + 中心部件 生成一个文本编辑部件示例
    PyQt4工具栏
    PyQt4菜单栏
    PyQt4状态栏
    PyQt4将窗口放在屏幕中间
    PyQt4消息窗口
    PyQt4关闭窗口
    Mysql基础之 ALTER命令
    电脑开机后win系统运行异常慢,鼠标移动卡
  • 原文地址:https://www.cnblogs.com/xufengyuan/p/6391895.html
Copyright © 2011-2022 走看看