黑马程序员技术交流社区

标题: IO流的总结 [打印本页]

作者: 李计伟    时间: 2012-11-13 21:21
标题: IO流的总结
A复制数据规律通过几个明确来判断流对象的使用
(1)明确数据源和数据目的
  数据源:(一般我们是从数据源获取数据的)
   Reader
   InputStream
  数据目的:(一般我们是向目的写入数据)
   Writer
   OutputStream
(2)明确数据的内容是否是纯文本
  数据源:
   是:Reader -- FileReader
   不是:InputStream -- FileInputStream
  目的地:
   是:Writer -- FileWriter
   不是:OutputStream -- FileOutputStream
(3)明确具体设备
  数据源:
   键盘录入(System.in),文件(file),内存
   System.in -- 转换流 -- InputStreamReader
  目的地:
   控制台(System.out),文件(file),内存
   System.out -- 转换流 -- OutputStreamWriter
(4)明确是否需要提高效率
  是:使用带Buffer的流对象
  不是:不使用带Buffer的流对象
(5)通过流的操作分析如下四种操作
  A:文件(a.txt) -- 文件(b.txt)
   (1)明确数据源和数据目的
    数据源:Reader
    数据目的:Writer
   (2)明确数据的内容是否是纯文本
    数据源:FileReader
    目的地:FileWriter
   (3)明确具体设备
    数据源:文件(file)
    目的地:文件(file)
   (4)明确是否需要提高效率
    是:使用带Buffer的流对象
  B读取键盘录入,将数据存储到一个文件中。
(1)明确数据源和数据目的
  源:InputStream ,Reader
  目的:OutputStream ,Writer
  (2)明确数据的内容是否是纯文本
  源:是纯文本吗?是 Reader
  目的;是纯文本吗?是 Writer
(3)明确具体设备
  源:键盘,System.in
  目的:硬盘,FileWriter
  InputStream in = System.in;
  FileWriter fw = new FileWriter("a.txt");
  (4)明确是否需要提高效率
是:使用带Buffer的流对象
  
C读取一个文本文件,将数据展现在控制台上。
   (1)明确数据源和数据目的
   源:InputStream ,Reader
   目的:OutputStream ,Writer
  (2)明确数据的内容是否是纯文本
   源:是纯文本吗?是 Reader
   目的;是纯文本吗?是 Writer
   (3)明确具体设备
   源:硬盘文件,FileReader。
   目的:控制台:System.out。
   FileReader fr = new FileReader("a.txt");
   OutputStream out = System.out;
    (4)明确是否需要提高效率
         是:使用带Buffer的流对象
D键盘 -- 控制台
   (1)明确数据源和数据目的
   数据源:InputStream
   数据目的:OutputStream
   (2)明确数据的内容是否是纯文本
    数据源:InputStream
    目的地:OutputStream
   (3)明确具体设备
    数据源:键盘录入(System.in)
     System.in -- 转换流 -- InputStreamReader
    目的地:控制台(System.out)
     System.out -- 转换流 -- OutputStreamWriter
     (4)明确是否需要提高效率
    是:使用带Buffer的流对象
       注意:
    键盘录入的时候,要自己定义结束标记。
    而文件是不需要的,读到结尾会返回标记。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2