流操作
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了流操作相关的知识,希望对你有一定的参考价值。
我们经常需要从文件中读取数据,或者储存数据进文件。在java中,将一个对象(可以读入一个字节序列)称作为输入流,将一个对象(可以向其中写入一个字节序列)称作为输出流。在java中,流操作的基础是抽象类InputStream和OutputStream.
InputStream类中有一个抽象方法:
abstract int read();
这个抽象方法的目的是从输入流中读取数据的下一个字节。在继承这个类时,必须实现这个方法。
OutputStream类:
abstract void write(int b);
将指定的字节写入到输出流。
例如,FileInputStream继承InputStream,从文件中的读取字节。但是它只能读取字节和字节数组。如果需要做其它相关的操作,例如从文件中读取java数据类型,例如DataInputStream,这个类的方法可以从流中读取几个字节,解释为你所需要类型的数据。但是它不能从文件中直接读取数据,它需要在读取数据的类的基础之上进行。
java设计了这样的一种机制:首先需要诸如FileInputStream或者URL类中的openStream方法返回的输入流等等,这种可以在文件中获取字节的输入流,然后在此基础上,构建诸如DataInputStream和PrintWriter等类型将字节组装成为更有用的数据类型,它们在原声字节流之上添加了额外的功能。此外,如果想要添加缓存功能,还可以再加上BufferedInputStream。例如:
FileInputStream fin = new FileInputStream("xx.txt"); DataInputStream din = new DataInputStream(fin);
BufferedInputStream bin = new BufferedInputStream(din);
以上是关于流操作的主要内容,如果未能解决你的问题,请参考以下文章
此应用小部件片段中所有意图 (PendingIntents) 的逻辑流