zoukankan      html  css  js  c++  java
  • 【转载】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
    浅显易懂,非常好用
  • 相关阅读:
    如何使用腾讯位置服务地图选点组件?
    vue使用腾讯位置服务获取当前位置示例
    腾讯位置服务地址搜索&marker标记demo
    如何优雅接入腾讯地图SDK公交路线规划2?
    如何优雅接入腾讯地图SDK公交路线规划?
    地图SDK自定义路况和字体示例
    腾讯地图SDK自定义地图和路况示例
    手把手教你实现3D地图的定时高亮和点击事件
    vue实现坐标拾取器功能demo
    jmeter之安装ant
  • 原文地址:https://www.cnblogs.com/ViokingJava/p/8184396.html
Copyright © 2011-2022 走看看