IO流之流的操作规律

流的操作规律

IO流中对象很多,解决问题(处理设备上的数据时)到底该用哪个对象呢?  

把IO流进行了规律的总结(四个明确):

l  明确一:要操作的数据是数据源还是数据目的。

                  源:InputStream    Reader

                  目的:OutputStream Writer

先根据需求明确要读,还是要写。

l  明确二:要操作的数据是字节还是文本呢?

                  源:

                          字节:InputStream

                          文本:Reader

                  目的:

                          字节:OutputStream

                          文本:Writer

已经明确到了具体的体系上。

l  明确三:明确数据所在的具体设备。

                  源设备:

                          硬盘:文件  File开头。

                          内存:数组,字符串。

                          键盘:System.in;

                          网络:Socket

                  目的设备:

                          硬盘:文件  File开头。

                          内存:数组,字符串。

                          屏幕:System.out

                          网络:Socket

完全可以明确具体要使用哪个流对象。

l  明确四:是否需要额外功能呢?

                  额外功能:

                          转换吗?转换流。InputStreamReader OutputStreamWriter

                          高效吗?缓冲区对象。BufferedXXX

     InputStream

       FileInputStream

       BufferedInputStream

OuputStream

   FileOutputStream

   BufferedOuputStream

Writer

  OutputStreamWriter

     FileWriter

      BufferedWriter

Reader

  InputStreamReader

     FileReader

 BufferedReader

原文地址:https://www.cnblogs.com/lxx2014/p/9541307.html