Java IO流之如何选择流对象总结
2015-09-04 13:47
555 查看
最近自学完IO流的一些内容,(InputStream,OutputStream,Reader,Writer)最开始对哪个是输出流,哪个是输入流模棱两可. 就是InputStream和OutputStream这两个,不知道有没有初学者跟我一样呢?呵呵.后来自己想到一个记住的方法,按照字母的顺序记,R在W前面,I在O前面,那么I就对应R,O就对应W,InputStream对应的方法就跟Reader类似,OutputStream对应的方法就跟Writer,类似这样就容易理解InputStream和OutputStream这两个流的使用.(因为Reader和Writer在字面上是比较容易记住的,至少我是这样认为的)
接下来就是要搞清楚该选择流对象呢?
1.明确源
源:输入流 InputStream Reader
2.明确目的
目的:输出流 OutputStream Writer
3.明确操作的对象是否是纯文本
是:字符流
否:字节流
明确这几点后就确定使用哪个流对象.
下面举个例子来按照上面的步骤正确选择使用哪个流对象.
例:将一个文本文件中数据存储到另一个文件中。
源:因为是源,所以使用读取流。InputStream Reader 目的:OutputStream Writer
是不是操作文本文件。是!这时就可以选择Reader Writer。
操作的是硬盘上一个文件。Reader体系中可以操作文件的对象是 FileReader FileWriter。
是否需要提高效率:是!加入Reader体系中缓冲区 BufferedReader.BufferedWriter
FileReader fr = new FileReader("demo.txt");
BufferedReader bfr = new BufferedReader(fr);
FileWriter fw = new FileWriter("demo_cp.txt");
BufferedWriter bfw = new BufferedWriter(fw);
按照以上的步骤我想对于初学者来说比较容易选择该如何使用哪个流对象了吧..
摘录自:http://bbs.51cto.com/thread-971805-1-1.html
接下来就是要搞清楚该选择流对象呢?
1.明确源
源:输入流 InputStream Reader
2.明确目的
目的:输出流 OutputStream Writer
3.明确操作的对象是否是纯文本
是:字符流
否:字节流
明确这几点后就确定使用哪个流对象.
下面举个例子来按照上面的步骤正确选择使用哪个流对象.
例:将一个文本文件中数据存储到另一个文件中。
源:因为是源,所以使用读取流。InputStream Reader 目的:OutputStream Writer
是不是操作文本文件。是!这时就可以选择Reader Writer。
操作的是硬盘上一个文件。Reader体系中可以操作文件的对象是 FileReader FileWriter。
是否需要提高效率:是!加入Reader体系中缓冲区 BufferedReader.BufferedWriter
FileReader fr = new FileReader("demo.txt");
BufferedReader bfr = new BufferedReader(fr);
FileWriter fw = new FileWriter("demo_cp.txt");
BufferedWriter bfw = new BufferedWriter(fw);
按照以上的步骤我想对于初学者来说比较容易选择该如何使用哪个流对象了吧..
摘录自:http://bbs.51cto.com/thread-971805-1-1.html
相关文章推荐
- Java中删除文件、删除目录及目录下所有文件
- JAVA文件中获取路径及WEB应用程序获取路径方法
- java基本数据类型与包装类型
- struts interceptor
- spring 很详细的事务管理
- Spring的四种事务管理(一种编程式事务+三种声明事务)<学习随笔>
- 如何在Ubuntu 14.04中安装最新版Eclipse
- SSH的整合,Spring与Hibernate整合,与Struts2整合,ssh整合
- Java构造函数
- maven 构建 全注解 spring mvc + mybatis mysql 项目
- Spring中基于Java的配置@Configuration和@Bean用法
- java.util源码之AbstractCollection(基于jdk1.7)
- SpringMVC配置文件
- 如何在Ubuntu中安装JDK
- Eclipse 开发利器 Jrebel热部署配置 基于Jetty
- java中的分页(最基础的方法)
- java类加载器-(1)
- 网页爬虫的设计与实现(Java版)
- java spring mvc之文件上传
- Java Excel API简介