JDK 1.7 java.io 源码学习之Closeable、Flushable、Appendable接口
来源:互联网 发布:淘宝店铺和旺铺的区别 编辑:程序博客网 时间:2024/06/06 00:18
Closeable、Flushable、Appendable三个接口都是比较基础和比较简单的接口。
Closeable接口
Closeable接口继承了AutoCloseable接口,实现了Closeable接口的类也支持try-with-resources自动释放资源。Closeable接口内只定义了一个close方法:
public void close() throws IOException;
当close()方法被调用时,stream对象持有的资源被释放,任何实现了这个类都可以调用close()来进行资源的释放。
InputStream、OutputStream、Reader、Writer四个抽象类都实现了Closeable接口,
它们的子类也都可以直接调用close()释放资源,不过很多实现类都重写了close()方法
当资源关闭失败时,会抛出IOException
Flushable接口
Flushable接口内也只定义了一个flush方法:
void flush() throws IOException;
当这个方法被调用时,会将缓存中的数据写入到流中
执行失败时,会抛出IOException
Appendable接口
该接口并不是java.io包中的,而是java.lang包中的,但是很多java.io中的类都实现了该接口。看JDK API 说明,意思是如果某个类的实例打算接收取自Formatter的格式化输出,那么必须实现该接口
定义了三个方法:
//向此 Appendable 添加指定字符。 Appendable append(char c) throws IOException; //向此 Appendable 添加指定的字符序列。 Appendable append(CharSequence csq) throws IOException; //向此 Appendable 添加指定字符序列的子序列。 Appendable append(CharSequence csq, int start, int end) throws IOException
对Appendable接口并没有很深的理解,暂时只能先这样了,后续再补充完善吧。
0 0
- JDK 1.7 java.io 源码学习之Closeable、Flushable、Appendable接口
- 探究java IO之AutoCloseable,Closeable和Flushable接口
- 探究java IO之AutoCloseable,Closeable和Flushable接口
- 探究java IO之AutoCloseable,Closeable和Flushable接口
- java IO之AutoCloseable,Closeable和Flushable接口
- Closeable、Readable、Flushable和Appendable
- io中的AutoCloseable,Closeable和Flushable接口
- The Closeable, Flushable, Readable, and Appendable interfaces
- Java IO之Flushable
- AutoCloseable, Closeable和Flushable接口
- JDK 1.7 java.io 源码学习之Serializable接口
- java IO相关API探索之Closeable和InputStream接口
- JDK 1.7 java.io 源码学习之AutoCloseable接口和try-with-resources语法
- java.lang.Appendable接口
- JDK 1.7 java.io 源码学习之InputStream和OutputStream
- JDK 1.7 java.io 源码学习之FileInputStream和FileOutputStream
- JDK 1.7 java.io 源码学习之ByteArrayInputStream和ByteArrayOutputStream
- JDK 1.7 java.io 源码学习之ObjectInputStream和ObjectOutputStream
- UrlEncoder与URLDecoder编码解码
- 第一篇博客
- 借用别人的UML图描述UML各线条和箭头关系
- 数据结构实验之二叉树五:层序遍历
- php使用反射API
- JDK 1.7 java.io 源码学习之Closeable、Flushable、Appendable接口
- BZOJ 4559 [JLoi2016]成绩比较
- Leetcode-516-Longest Palindromic Subsequence
- 开始学习Android啦!
- for循环中取索引,取到之后return直接跳出循环
- 欢迎使用CSDN-markdown编辑器
- 虚拟地址与物理地址之间的关系
- 动态加载表格
- Linux环境下tomcat的catalina.out日志按日分割生成实现