zoukankan      html  css  js  c++  java
  • (六)IO流之过滤流

    过滤字节流FilterInputStream和FilterOutputStream

    BufferedInputStream和BufferedOutputStream    需要使用已存在的节点流来构造,提供了带缓冲的读写,提高了读写的效率

    package com.tanlei.InputOutputStream;
    
    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 BufferedInputOutputDemo {
        public static void main(String[] args) {
            try {
                FileUtil1.copyFile(new File("C:\zhangsan\tanlei.txt"), new File("D:\zhangsan.txt"));
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        } 
    }
    class FileUtil1{
        public  static  void  copyFile(File src,File dst) throws IOException {
            FileInputStream fis=new FileInputStream(src);
            FileOutputStream fos=new FileOutputStream(dst);
            BufferedInputStream bis=new BufferedInputStream(fis);
            BufferedOutputStream bos=new BufferedOutputStream(fos);
            
            long time=System.currentTimeMillis();
            int data=0;//用来保存实际读到的字节数
            while ((data=bis.read())!=-1) {
                bos.write(data);
            }
            bis.close();
            bos.close();
            long time2=System.currentTimeMillis();
            System.out.println("共花费+"+(time2-time));
        }
    }

    DataInputStream和DataOutputStream   基本数据类型进行操作

    package com.tanlei.InputOutputStream;
    
    import java.io.DataInputStream;
    import java.io.DataOutputStream;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    
    public class DataInputOutputDemo {
       public static void main(String[] args) throws IOException {
         String name="tanlei";
         int age=20;
         boolean flag=true;
         char sex='男';
         double money=110.56;
         
         DataOutputStream dos=new DataOutputStream(new FileOutputStream("D:\aa.txt"));
         dos.writeUTF(name);
         dos.writeInt(age);
         dos.writeDouble(money);
         dos.writeChar(sex);
         dos.writeBoolean(flag);
         dos.close();
         
         DataInputStream dis=new DataInputStream(new FileInputStream("D:\\aa.txt"));
         System.out.println(dis.readUTF());
         System.out.println(dis.readInt());
         System.out.println(dis.readDouble());
         System.out.println(dis.readChar());
         System.out.println(dis.readBoolean());
         dis.close();
       }
    }

    总结:

    提供带缓冲的读写

  • 相关阅读:
    让盘古分词支持最新的Lucene.Net 3.0.3
    Mac下配置GitTF来连接TFS2012
    基于Xcode4开发第一个iPhone程序:“Hello World”
    第二个iPhone应用程序:“Say Hello”
    基于MMSeg算法的中文分词类库
    为什么IDEA不推荐你使用@Autowired ?
    Spring Cloud Gateway自定义过滤器实战(观测断路器状态变化)
    Spring Cloud Gateway实战之五:内置filter
    Spring Cloud Gateway过滤器精确控制异常返回(分析篇)
    Spring Cloud Gateway实战之四:内置predicate小结
  • 原文地址:https://www.cnblogs.com/tanlei-sxs/p/9665568.html
Copyright © 2011-2022 走看看