Java IO学习【17】关于流的基本规律
2015-07-30 16:33
393 查看
看了这么这些关于流的程序、Java的API包会发现,有关IO流的东西很多,写程序的时候都不知道使用哪个包,哪个包里的哪个函数,那么有没有一些已经存在的办法,让我们可以快速的弄清楚我们需要些什么。答案是肯定的,下面就来具体的分析一下。
接下来就来看看流的操作规律,之所以要弄清楚这个规律,是因为流对象太多,开发时不知道用哪个合适。其实想要知道开发时用到哪些对象,只要通过四个明确即可:
在流的操作中能变的是数据源和目的,专业名词叫数据汇。所以判断的步骤如下,
1.明确源和目的(汇)
源:(只能读)InputStream Reader
目的:(只写)OutPutStream Writer
2.明确数据是否是纯文本数据。
源:是纯文本:Reader
否:InputStream
目的:是纯文本:Writer
否:OutputStream
到这里就可以明确需求中具体使用哪个体系。
3.明确具体的设备。
源设备:
硬盘:File
键盘:System.in
内存:数组
网络:socket流
目的设备:
硬盘:File
控制台:System.out
内存:数组
网络:socket流
4.是否需要额外功能:
(1)是否需要高效(缓冲区)
是,就加上buffer
最后不能忘记在【16】中用到的转换流:
InputStreamReader:字节到字符的桥梁,解码
OutputStreamWriter:字符到字节的桥梁,编码
这就是流的一些基本规律,在用到流的时候利用这个规律可以较为方便的判断自己需要的编程方法。
接下来就来看看流的操作规律,之所以要弄清楚这个规律,是因为流对象太多,开发时不知道用哪个合适。其实想要知道开发时用到哪些对象,只要通过四个明确即可:
在流的操作中能变的是数据源和目的,专业名词叫数据汇。所以判断的步骤如下,
1.明确源和目的(汇)
源:(只能读)InputStream Reader
目的:(只写)OutPutStream Writer
2.明确数据是否是纯文本数据。
源:是纯文本:Reader
否:InputStream
目的:是纯文本:Writer
否:OutputStream
到这里就可以明确需求中具体使用哪个体系。
3.明确具体的设备。
源设备:
硬盘:File
键盘:System.in
内存:数组
网络:socket流
目的设备:
硬盘:File
控制台:System.out
内存:数组
网络:socket流
4.是否需要额外功能:
(1)是否需要高效(缓冲区)
是,就加上buffer
最后不能忘记在【16】中用到的转换流:
InputStreamReader:字节到字符的桥梁,解码
OutputStreamWriter:字符到字节的桥梁,编码
这就是流的一些基本规律,在用到流的时候利用这个规律可以较为方便的判断自己需要的编程方法。
相关文章推荐
- StringTokenizer字符串分解
- java单元测试中setUp方法和setUpBeforeClass方法的区别
- java失败的跳槽续
- 监听器配置,java监听器,登陆监听,Listener,struts监听器配置,用户在线统计
- java读取大容量excel之二(空格、空值问题)
- 深入探讨 Java 类加载器
- 使Eclipse下支持编写HTML/JS/CSS/JSP页面的自动提示。
- java中的IO整理
- Java根据出生年月日获取到当前日期的年月日
- JavaEE知识点总结
- JAVA CAS原理深度分析
- java概述
- [Java]LeetCode53 Maximum Subarray
- struts2 自定义类型转换器
- springMVC开发之一DispatcherServlet(转)
- Java内存泄露的理解与解决
- 利用java实现单词倒序排列
- java 过滤器详细知识
- JDK安装与环境变量配置
- (转)20个非常有用的Java程序片段