JAVA IO流(一)
来源:互联网 发布:淘宝客服具体工作 编辑:程序博客网 时间:2024/05/14 23:46
IO流根据处理数据类型的不同可分为字符流和字节流;根据数据流向不同可分为输入流和输出流。故本文主要按这2个方向描述IO流。另外JAVA用装饰者模式实现关于IO流的类,装饰模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。
字符流
字符输入流Reader
用于读取字符流的抽象类。只能通过子类继承,子类必须实现其方法有read(char[], int, int)和 close(),大多数的子类会重定义一些额外的方法。
1. BufferedReader
从字符流中读取文本,将文本字符读入到缓冲区中,当缓冲满时或者我们主动flush时,再读入到内存当中。优点:实现字符、数组和行的高效读取。
案例1:使用BufferedReader从键盘读数据
2 . FileReader
用于读取文件的便捷类。
案例2:从txt文本中读取内容
3. FileterReader
用于读取已过滤的字符流的抽象类。抽象类 FilterReader
自身提供了一些将所有请求传递给所包含的流的默认方法。FilterReader
的子类应重写这些方法中的一些方法,并且还可以提供一些额外的方法和字段。
4. InputStreamReader
将字节流读取转化为字符流读取,是字节流通向字符流的桥梁;使用指定字符解码方式,也可以显示给出其解码方式。如案例1中的System.in读取的是字节流,而InputStreamReader将字节流转化为字符流,
5. StringReader
从字符串冲读取字符序列。该类不常使用,了解即可。
6. PipedReader
管道流,和PipedWriter在一起使用。
案例3:管道读取流从管道写入流读取内容
字符写入流Writer
用于写入字符流的抽象类。子类必须实现的方法有 write(char[], int, int)、flush()和 close()。同Reader类似,子类大多会定义一些额外的方法。
1. BufferedWriter
和BufferReader类似,向文本中写入数据,写的时候先向缓冲区中写,当缓冲区满时或主动flush()时,再向目的地中写入。缓冲区的大小我们可以自己设置,但要合理选择缓冲区的大小。
案例4:向控制台写数据
2. FileWriter
用于向文件写入字符的便捷类;
案例5:向文本文件中写内容
3. FilterWriter
用于写入已过滤的字符流的抽象类。抽象类 FilterWriter自身提供了一些将所有请求传递给所包含的流的默认方法。FilterWriter的子类应重写这些方法中的一些方法,并且还可以提供一些额外的方法和字段。
4. OutputStreamWriter
字符流通向字节流的桥梁;和InputStreamReader类似,用法参见案例4;
5. PrintWriter
打印流,为其他输出流添加了额外的功能,与其他输入流不同,它永远不会抛出异常;它还添加了自动刷新的功能,即不用自己调用flush()方法,用法如下
PrintWriter pw = new PrintWriter(new FileWriter(“文件名”),true);
6. StringWriter
一个字符流,可以用其回收在字符串缓冲区中的输出来构造字符串。也不太常了解即可。
- java------IO流(一)
- JAVA IO流(一)
- java IO流(一)
- JAVA【IO一】IO流
- java IO流(一)
- java io流一
- Java IO流(一)
- Java IO(一)
- Java IO(一)
- Java--IO(一)
- Java IO(一)
- [Java] IO(一)
- java io(一)
- JAVA IO(一)
- Java IO流(一) 字符流
- java IO流(一) --字节流
- java IO-输入输出流(一)
- java IO 应用(一)字符流
- VMware使用之“暂停模式”关机,下次可以实现快速启动
- android退出时finish()调用问题
- 【APP UI 设计模式】(一)APP UI 设计原则和流程
- poj-3432
- Oracle与DB2、MySQL取前10条记录的对比
- JAVA IO流(一)
- VS2010+openGL配置
- 微信飞机大战游戏开发
- LDR pseudo-instruction 用法说明
- c语言连接MySQL
- java面试题-惠芸
- Floodlight 中 ChannelPipeline 结构图
- LeetCode_Clone Graph
- ListView使用注意