• 各种流的操作


    缓冲流的作用:

       如果不用缓冲流的话,程序是读一个数据,写一个数据。这样在数据量大的程序中非常影响效率。
    缓冲流作用是把数据先写入缓冲区,等缓冲区满了,再把数据写到文件里。这样效率就大大提高了
    缓冲流:
    字节缓冲流: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("路径"));

     
  • 相关阅读:
    linux下安装rpc.rstatd
    myeclipse下编译jmeter2.4
    2010我最喜爱的耳机评选结果q
    HTTP/1.1 Range和ContentRange
    top命令的load average是什么意思?
    用户 'sa' 登录失败。该用户与可信 SQL Server 连接无关联。
    自定义ListBox,实现单多选切换(复选框)
    自定义水印输入框和密码框
    获取Windows Phone设备信息
    启动器和选择器学习(7)选择器之联系人信息保存
  • 原文地址:https://www.cnblogs.com/yupeter007/p/4584360.html
Copyright © 2020-2023  润新知