基于流的I/O系统被打包到java.io包中,本系列介绍那些自Java最初发布以来就已提供且广泛使用的部分。然而,从1.4版本开始,Java添加了另一套I/O系统,被称为NIO(也就是new I/O系统的缩写)。NIO被打包到java.nio及其子包中。。随着JDK7的发布,Java对NIO的功能进行了极大扩展,并且NIO的使用也在朝预期方向增长。NIO系统将在后面再讲。
下面列出了java.io定义的I/O类:
BufferedInputStream | FileWriter | PipedOutputStream |
BufferedOutputStream | FilterInputStream | PipedReader |
BufferedReader | FilterOutputStream | PipedWriter |
BufferedWriter | FilterReader | PrintStream |
ByteArrayInputStream | FilterWriter | PrintWriter |
ByteArrayOutputStream | InputStream | PushbackInputStream |
CharArrayReader | InputStreamReader | PushbackReader |
CharArrayWriter | LineNumberReader | RandomAccessFile |
Console | ObjectInputStream | Reader |
DataInputStream | ObjectInputStream.GetField | SequenceInputStream |
DataOutputStream | ObjectOutputStream | SerializablePermission |
File | ObjectPutputStream.PutField | StreamTokenizer |
FileDescriptor | ObjectStreamClass | StringReader |
FileInputStream | ObjectStreamField | StringWriter |
FileOutputStream | OutputStream | Writer |
FilePermission | OutputStreamWriter | |
FileReader | PipedInputStream |
java.io包还包含两个已经不再赞成使用的类:LineNumberInputStream和StringBufferInputStream,上面没有列出这两个类。对于新代码不应当使用这些类。
java.io定义了以下接口:
Closeable | FileFilter | ObjectInputValidation |
DataInput | FilenameFilter | ObjectOutput |
DataOutput | Flushable | ObjectStreamConstants |
Externalizable | ObjectInput | Serializable |
可以看出,在java.io中有许多类和接口。这些类和接口包含字节流,字符流以及对象串行化(对象的存储和检索)。