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();
       }
    }

    总结:

    提供带缓冲的读写

  • 相关阅读:
    leetcode 18 4Sum
    leetcode 71 Simplify Path
    leetcode 10 Regular Expression Matching
    leetcode 30 Substring with Concatenation of All Words
    leetcode 355 Design Twitte
    leetcode LRU Cache
    leetcode 3Sum
    leetcode Letter Combinations of a Phone Number
    leetcode Remove Nth Node From End of List
    leetcode Valid Parentheses
  • 原文地址:https://www.cnblogs.com/tanlei-sxs/p/9665568.html
Copyright © 2011-2022 走看看