java.ioJava流输入输出原理

如题所述

Java 的输入输出功能强大而灵活,统一抽象为数据流,简化了程序的数据处理。Java 类库中的 IO 部分涵盖了标准输入输出、文件操作、网络数据流、字符串流、对象流和 zip 文件流等内容,分类清晰。

根据流向,可以将流分为输入流和输出流。输入流允许程序从中读取数据,而输出流则让程序能向其中写入数据。按数据传输单位,则分为字节流和字符流。字节流以字节为单位传输数据,字符流则以字符为单位传输数据。根据功能,流又分为节点流和过滤流,节点流直接操作目标设备,过滤流通过链接和封装已存在的流,提供强大的读写功能。

Java.io 包含多个常用类,如 InputStream、OutputStream、Reader 和 Writer。它们分别继承自 InputStream、OutputStream、Reader 和 Writer 的抽象流类。Closeable 接口允许关闭数据源或目标,DataInput 和 DataOutput 接口分别用于从二进制流中读取字节和将数据写入二进制流,Externalizable 类允许实例被序列化到流中。FileFilter 和 FilenameFilter 实现用于抽象路径名和文件名过滤,Flushable 接口表示可刷新数据的目标。

ObjectInput 和 ObjectOutput 接口扩展了 DataInput 和 DataOutput 接口,用于对象的读写操作。ObjectStreamConstants 常量用于对象序列化流的写入。Serializable 接口让类启用序列化功能。BufferedInputStream 和 BufferedOutputStream 实现了缓冲输入输出流的功能。BufferedReader 和 BufferedWriter 用于高效读写单个字符、数组和字符串。ByteArrayInputStream 和 ByteArrayOutputStream 实现了内部缓冲区的字节流和输出流。CharArrayReader 和 CharArrayWriter 实现了字符输入输出流的缓冲区。

Console 类提供了访问 Java 虚拟机关联的基于字符的控制台设备的方法。DataInputStream 和 DataOutputStream 允许以与机器无关的方式读写基本 Java 数据类型。File 类表示文件和目录路径名的抽象形式,FileDescriptor 类提供与基础机器相关的不透明句柄。FileInputStream 和 FileOutputStream 分别用于从文件系统读取字节和将数据写入文件。FilePermission 类表示对文件和目录的访问权限。FileReader 和 FileWriter 分别用于读写字符文件,提供便捷的类。FilterInputStream 和 FilterOutputStream 是过滤输入输出流的超类。FilterReader 和 FilterWriter 分别用于读写过滤的字符流。InputStream 和 InputStreamReader 是字节流到字符流的桥梁,LineNumberInputStream 用于读取带行号的字节。
温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜