zoukankan      html  css  js  c++  java
  • 各种流的操作

    缓冲流的作用:

       如果不用缓冲流的话,程序是读一个数据,写一个数据。这样在数据量大的程序中非常影响效率。
    缓冲流作用是把数据先写入缓冲区,等缓冲区满了,再把数据写到文件里。这样效率就大大提高了
    缓冲流:
    字节缓冲流:BufferedInputStream bui=new BufferedInputStream(new InputStream());
             BufferedOnputStream;
    字符缓冲流 BufferedReader ,BufferedWriter;

    
    

    关于各种流的操作规律:

    之所以要弄清楚这个规律是因为对象太多,开发时不知道用哪个对象合适。因此只需要明确以下四点:

    
    

    1,明确源和目的:                                                                   

    
    

    源:InputStream(字节流)  Reader(字符流)

    
    
    目的:OutStream(字节流) Writer(字符流)
    
    

    2,明确数据是否是纯文本数据                                                                                          

                                                                                                                                         例如1:若是纯文本数据:源 Reader  

    
    

          源:是 Reader                                                                                                           目的是 Writer                                 

    
    

              否InputStream                                                          

    
    

       目的  是 Writer                                                                                                         设备硬盘:File  

    
    

             否 OutStream                                                                                                   就有  FileReader in=new FileReader("路径");

    
    

                              到这里就可以明确是否用哪个体系了                                                        FileWriter out=new FileWriter("路径"); 

    
    

    3,明确具体的设备                                                                                                     

                                                                                                                                           需要高效功能(缓冲流):

    
    

    源。键盘:System.in     硬盘:file    内存: 数组     网络:Socket流                                 BufferedReader bufi= new BufferedReader(FileReader("路径"));

    
    

    目的。控制台:System.out  硬盘:File 内存:数组  网络:Socket流                                   BufferedWriter bufw= new BufferedWriter(FileWriter("路径"));

    
    
    
    
    

    4,是否需要其它额外功能:

    
    

    是否需要高效(缓冲区):buffer

    
    
    
    
    

    例二:读取键盘录入(字节)信息,并写入到一个文件中。需要将字节流转换成字符流,还需要高效的功能

    1,明确源和目的:   

    源:InputStream(字节流)  Reader(字符流)

    
    

    目的:OutStream(字节流) Writer(字符流)

    2,明确数据是否是纯文本数据    

     源:是 Reader        

     目的  是 Writer  

     

     3,明确具体的设备    

    源:键盘 System.in

    目:硬盘 File

            InputStream in=System.in;   

           FileWriter out=new FileWriter("路径");

    4,是否需要其它额外功能:

      需要,将字节转换成字符

           InputStreamReader in=new  InputStreamReader(System.in);

             FileWriter out=new FileWriter("路径");

    需要高效的缓冲区: BufferedReader bufi=new BufferedReader(new  InputStreamReader(System.in));

                                  BufferedWriter bufw=new BufferedWriter(new FileWriter("路径"));

     
  • 相关阅读:
    bash shell if 命令参数说明
    Linux test命令
    javascript获取事件触发源
    PHP Manual 学习
    js 控制iframe 刷新
    WP7交互特性浅析及APP设计探究
    FirstDayStart点点
    关于Safari的思考(转载)
    如何使控件背景色支持TransparentKey(at Win2k/WinXP 32bit Color Desktop)
    [Bug] VisualStyleRenderer may cause GDI leak!
  • 原文地址:https://www.cnblogs.com/yupeter007/p/4584360.html
Copyright © 2011-2022 走看看