• 【转载】JAVA中IO流操作的基本规律总结


    流操作的基本规律:三个明确
    1.明确源和目的;
    源:输入流即读取流       InputStream,Reader
    目的:输出流即写入流    OutputStream, Writer
    2.明确操作的数据是否是纯文本文件;
    如是果是纯文本文件使用字符流Reader 或Writer,不是纯文本文件 使用字节流InputStream或 OutputStream
    3.当体系明确后,在明确具体的适用对象;
    通过设备来区分
    源设备:内存  硬盘  键盘
    目的设备:内存  硬盘   控制台 
    ***************************************************************************************************
    eg1:将一个文本文件的数据复制到另一个文件
    分析开始:
    源是一个文本文件所以使用字符流,因为要读取区其中的数据,选择Reader
    接下来明确使用对象,设备是硬盘上的文件,Reader体系中操作文件的对象时FileReader
          FileReader fr=new FileReader("a.txt");
    为了提高读取效率,加入Reader体系之中的缓冲区BufferedReader(装饰类)
    BufferedReader br=new BufferedReader(fr);
    目的:也是一个文件,因为要向其中写入数据,选择Writer
    因为该文件也存在与硬盘之上,所以使用Writer体系中操作文件的对象FileWriter
    FileWriter fw=new FileWriter("b.txt");
    同理,为了提高读取效率,加入 Writer 体系之中的缓冲区BufferedWriter
    Buffered Writer  br=new Buffered Writer r(fw);
    若是图片、音频或是视频文件,分析步骤同上,改成相应的字节流即可。
    ********************************************************************************************************
    eg2:将键盘录入的数据保存到文件当中
    分析:源是键盘录入( InputStream,Reader),是纯文本(Reader);
    设备:键盘,对应的对象System.in
    由于体系是Reader,而System是字节流(InputStream),所以要转成字符流,利用Reader体系中的字节转字符的桥梁:InputStreamReader
    InputStreamReader isr=new InputStreamReader(System.in);
    为了提高效率,使用BufferedReader
    BufferedReader br=new BufferedReader(isr); 
    目的:也是文本文件,Writer
    设备:硬盘上的文件,使用对象FileWriter
    FileWriter fw=new FileWriter("a.txt");
    同样为了提高效率:Buffered Writer  br=new Buffered Writer r(fw);
    如果要将文本中的文件输出到控制台,按照上面的三个明确即可。
     
    原文博客:http://blog.csdn.net/u012355386/article/details/22697155
    浅显易懂,非常好用
  • 相关阅读:
    阶段性总结---初始阶段
    微信授权以及微信支付所遇到的坑(完善)
    CSS3学习
    Playing with String(codeforces 305E)
    Treblecross(uva 10561)
    序列操作(bzoj 1858)
    传送带(bzoj 1857)
    字符串(bzoj 1856)
    刷题比赛(洛谷 1707)
    大楼(bzoj 2165)
  • 原文地址:https://www.cnblogs.com/ViokingJava/p/8184396.html
Copyright © 2020-2023  润新知