ylbtech-Java-API:java.io百科 |
Java的核心库java.io提供了全面的IO接口。包括:文件读写、标准设备输出等。Java中IO是以流为基础进行输入输出的,所有数据被串行化写入输出流,或者从输入流读入。
1、
- 中文名:无
- 外文名:java.io
- 通 过:数据流、序列化
- 目 的:提供系统输入和输出。
目录
- 1 java.io 的描述
- 2 流
- 3 Java流输入输出原理
2、
1.返回顶部 |
1、
java.io 的描述
流
流是一个很形象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数据源可以是文件,内存,或是网络连接。类似的,当程序需要写入数据的时候,就会开启一个通向目的地的流。这时候你就可以想象数据好像在这其中“流”动一样。
Java流输入输出原理
Java把这些不同来源和目标的数据都统一抽象为数据流。Java语言的输入输出功能是十分强大而灵活的,美中不足的是看上去输入输出的代码并不是很简洁,因为你往往需要包装许多不同的对象。
在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛:标准输入输出,文件的操作,网络上的数据流,字符串流,对象流,zip文件流。
Java流的分类
按流向分:
输入流: 程序可以从中读取数据的流。
输出流: 程序能向其中写入数据的流。
按数据传输单位分:
字节流: 以字节为单位传输数据的流
字符流: 以字符为单位传输数据的流
按功能分:
节点流: 用于直接操作目标设备的流
过滤流: 是对一个已存在的流的链接和封装,通过对数据进行处理为程序提供功能强大、灵活的读写功能。
java.io常用类
JDK所提供的所有流类位于java.io包中,都分别继承自以下四种抽象流类。
InputStream:继承自InputStream的流都是用于向程序中输入数据的,且数据单位都是字节(8位)。
OutputStream:继承自OutputStream的流都是程序用于向外输出数据的,且数据单位都是字节(8位)。
Reader:继承自Reader的流都是用于向程序中输入数据的,且数据单位都是字符(16位)。
Writer:继承自Writer的流都是程序用于向外输出数据的,且数据单位都是字符(16位)。
接口摘要
Closeable
|
Closeable 是可以关闭的数据源或目标。
|
DataInput
|
DataInput 接口用于从二进制流中读取字节,并根据所有 Java 基本类型数据进行重构。
|
DataOutput
|
DataOutput 接口用于将数据从任意 Java 基本类型转换为一系列字节,并将这些字节写入二进制流。
|
Externalizable
|
Externalizable 实例类的唯一特性是可以被写入序列化流中,该类负责保存和恢复实例内容。
|
FileFilter
|
用于抽象路径名的过滤器。
|
FilenameFilter
|
实现此接口的类实例可用于过滤器文件名。
|
Flushable
|
Flushable 是可刷新数据的目标地。
|
ObjectInput
|
ObjectInput 扩展 DataInput 接口以包含对象的读操作。
|
ObjectInputValidation
|
允许验证图形中对象的回调接口。
|
ObjectOutput
|
ObjectOutput 扩展 DataOutput 接口以包含对象的写入操作。
|
ObjectStreamConstants
|
写入 Object Serialization Stream 的常量。
|
Serializable
|
类通过实现 java.io.Serializable 接口以启用其序列化功能。
|
类摘要
BufferedInputStream
|
BufferedInputStream 为另一个输入流添加一些功能,即缓冲输入以及支持 mark 和 reset 方法的能力。
|
BufferedOutputStream
|
该类实现缓冲的输出流。
|
BufferedReader
|
从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。
|
将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。
|
|
ByteArrayInputStream
|
ByteArrayInputStream 包含一个内部缓冲区,该缓冲区包含从流中读取的字节。
|
ByteArrayOutputStream
|
此类实现了一个输出流,其中的数据被写入一个 byte 数组。
|
CharArrayReader
|
此类实现一个可用作字符输入流的字符缓冲区。
|
CharArrayWriter
|
此类实现一个可用作 Writer 的字符缓冲区。
|
此类包含多个方法,可访问与当前 Java 虚拟机关联的基于字符的控制台设备(如果有)。
|
|
数据输入流允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型。
|
|
DataOutputStream
|
数据输出流允许应用程序以适当方式将基本 Java 数据类型写入输出流中。
|
File
|
文件和目录路径名的抽象表示形式。
|
FileDescriptor
|
|
FileInputStream
|
FileInputStream 从文件系统中的某个文件中获得输入字节。
|
文件输出流是用于将数据写入 File 或 FileDescriptor 的输出流。
|
|
FilePermission
|
此类表示对文件和目录的访问。
|
FileReader
|
用来读取字符文件的便捷类。
|
用来写入字符文件的便捷类。
|
|
FilterInputStream
|
FilterInputStream 包含其他一些输入流,它将这些流用作其基本数据源,它可以直接传输数据或提供一些额外的功能。
|
此类是过滤输出流的所有类的超类。
|
|
FilterReader
|
用于读取已过滤的字符流的抽象类。
|
FilterWriter
|
用于写入已过滤的字符流的抽象类。
|
此抽象类是表示字节输入流的所有类的超类。
|
|
InputStreamReader
|
InputStreamReader 是字节流通向字符流的桥梁:它使用指定的 charset 读取字节并将其解码为字符。
|
LineNumberInputStream
|
已过时。此类错误假定字节能充分表示字符。
|
2、
2.返回顶部 |
3.返回顶部 |
4.返回顶部 |
5.返回顶部 |
0、
1、
2、
3、
6.返回顶部 |
![]() |
作者:ylbtech 出处:http://ylbtech.cnblogs.com/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 |