知识大全 Java的IO总结
Posted 知
篇首语:虽然狠努力,练习着忘记,我的心却还没答应可以放弃了沵。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java的IO总结相关的知识,希望对你有一定的参考价值。
Java的IO总结 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识点一: 四大等级结构
java语言的i/o库提供了四大等级结构:InputStream OutputStream Reader Writer四个系列的类 InputStream和OutputStream处理 位字节流数据 Reader和Writer处理 位的字符流数据 InputStream和Reader处理输入 OutputStream和Writer处理输出 大家一定要到J SE文档中看看这四大等级结构的类继承体系
除了这四大系列类 i/o库还提供了少数的辅助类 其中比较重要的是InputStreamReader和OutputStreamWriter InputStreamReader把InputStream适配为Reader OutputStreamWriter把OutputStream适配为Writer;这样就架起了字节流处理类和字符流处理类间的桥梁
您使用i/o库时 只要按以上的规则 到相应的类体系中寻找您需要的类即可
知识点二: 适配功能
java i/o库中的继承不是普通的继承;它的继承模式分为两种 其一就是Adapter模式(具体分析请参见<<java与模式>>一书) 下面以InputStream类体系为例进行说明
InputStream有 个直接子类:ByteArrayInputStream FileInputStream PipedInputStream StringBufferInputStream FilterInputStream ObjectInputStream和SequenceInputStream 前四个采用了Adapter模式 如FileInputStream部分代码如下:
Public class FileInputStream extends InputStream
/* File Descriptor handle to the open file */
private FileDescriptor fd;
public FileInputStream(FileDescriptor fdObj)
SecurityManager security = System getSecurityManager();
if (fdObj == null)
throw new NullPointerException();
if (security != null)
security checkRead(fdObj);
fd = fdObj;
//其他代码
可见 FileInputStream继承了InputStream 组合了FileDescriptor 采用的是对象Adapter模式 我们学习i/o库时 主要应该掌握这四个对象Adapter模式的适配源: ByteArrayInputStream的适配源是Byte数组 FileInputStream的适配源是File对象 PipedInputStream的适配源是PipedOutputStream对象 StringBufferInputStream的适配源是String对象 其它三个系列类的学习方法与此相同
知识点三: Decorator功能
InputStream的其它三个直接子类采用的是Decorator模式 <<java与模式>>中描述得比较清楚 其实我们不用管它采用什么模式 看看代码就明白了 FilterInputStream部分代码如下:
Public class FilterInputStream extends InputStream
/**
* The input stream to be filtered
*/
protected InputStream in;
protected FilterInputStream(InputStream in)
this in = in;
//其它代码
看清楚没有? FilterInputStream继承了InputStream 也引用了InputStream 而它有四个子类 这就是所谓的Decorator模式 我们暂时可以不管为什么要用Decorator模式 但我们现在应该知道:因为InputStream还有其它的几个子类 所以我们可以将其它子类作为参数来构造FilterInputStream对象!这是我们开发时常用的功能 代码示例如下:
//从密钥文件中读密钥
SecretKey key=null;
ObjectInputStream keyFile=new ObjectInputStream(
new FileInputStream( c:\\\\安全文件\\\\对称密钥\\\\yhb des ));
key=(SecretKey)keyFile readObject();
keyFile close();
上面的代码中 ObjectInputStream也是InputStream的子类 也使用了Decorator功能 不过 就算你不懂也不想懂Decorator模式 只要记住本文给出的FilterInputStream 的两段代码即可
cha138/Article/program/Java/hx/201311/26161相关参考
彻底明白Java的IO系统 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 彻底明白Java的IO
知识大全 IO的阻塞与非阻塞、同步与异步以及Java网络IO交互方式
IO的阻塞与非阻塞、同步与异步以及Java网络IO交互方式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一
Java的文件IO机制 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Java有一个庞大的I/O
java常用IO操作 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! packagesyjutil
知识大全 java序列化--java.io.Serializable接口解析
java序列化--java.io.Serializable接口解析 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一
publicclassReadSql publicstaticvoidreadsql(StringfilePath)throwsException Stringencoding=gbk; F
JavaNIO(异步IO)Socket通信例子 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! /
JavaIO之有缓冲的文本输入 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 输入就是Input
Java对各种文件的操作详解 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! java中提供了io
Java线程安全总结 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 最近想将java基础的一些东