java.io的Java流输入输出原理
答案:1 悬赏:40
解决时间 2021-01-22 10:36
- 提问者网友:箛茗
- 2021-01-21 12:17
java.io的Java流输入输出原理
最佳答案
- 二级知识专家网友:廢物販賣機
- 2021-01-21 13:23
Java把这些不同来源和目标的数据都统一抽象为数据流。Java语言的输入输出功能是十分强大而灵活的,美中不足的是看上去输入输出的代码并不是很简洁,因为你往往需要包装许多不同的对象。
在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛:标准输入输出,文件的操作,网络上的数据流,字符串流,对象流,zip文件流。 按流向分:
输入流: 程序可以从中读取数据的流。
输出流: 程序能向其中写入数据的流。
按数据传输单位分:
字节流: 以字节为单位传输数据的流
字符流: 以字符为单位传输数据的流
按功能分:
节点流: 用于直接操作目标设备的流
过滤流: 是对一个已存在的流的链接和封装,通过对数据进行处理为程序提供功能强大、灵活的读写功能。 JDK所提供的所有流类位于java.io包中,都分别继承自以下四种抽象流类。
InputStream:继承自InputStream的流都是用于向程序中输入数据的,且数据单位都是字节(8位)。
OutputStream:继承自OutputStream的流都是程序用于向外输出数据的,且数据单位都是字节(8位)。
Reader:继承自Reader的流都是用于向程序中输入数据的,且数据单位都是字符(16位)。
Writer:继承自Writer的流都是程序用于向外输出数据的,且数据单位都是字符(16位)。 BufferedInputStreamBufferedInputStream 为另一个输入流添加一些功能,即缓冲输入以及支持 mark 和 reset 方法的能力。BufferedOutputStream该类实现缓冲的输出流。BufferedReader从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。BufferedWriter将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。ByteArrayInputStreamByteArrayInputStream 包含一个内部缓冲区,该缓冲区包含从流中读取的字节。ByteArrayOutputStream此类实现了一个输出流,其中的数据被写入一个 byte 数组。CharArrayReader此类实现一个可用作字符输入流的字符缓冲区。CharArrayWriter此类实现一个可用作 Writer 的字符缓冲区。Console此类包含多个方法,可访问与当前 Java 虚拟机关联的基于字符的控制台设备(如果有)。DataInputStream数据输入流允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型。DataOutputStream数据输出流允许应用程序以适当方式将基本 Java 数据类型写入输出流中。File文件和目录路径名的抽象表示形式。FileDescriptor文件描述符类的实例用作与基础机器有关的某种结构的不透明句柄,该结构表示开放文件、开放套接字或者字节的另一个源或接收者。FileInputStreamFileInputStream 从文件系统中的某个文件中获得输入字节。FileOutputStream文件输出流是用于将数据写入 File 或 FileDescriptor 的输出流。FilePermission此类表示对文件和目录的访问。FileReader用来读取字符文件的便捷类。FileWriter用来写入字符文件的便捷类。FilterInputStreamFilterInputStream 包含其他一些输入流,它将这些流用作其基本数据源,它可以直接传输数据或提供一些额外的功能。FilterOutputStream此类是过滤输出流的所有类的超类。FilterReader用于读取已过滤的字符流的抽象类。FilterWriter用于写入已过滤的字符流的抽象类。InputStream此抽象类是表示字节输入流的所有类的超类。InputStreamReaderInputStreamReader 是字节流通向字符流的桥梁:它使用指定的 charset 读取字节并将其解码为字符。LineNumberInputStream已过时。此类错误假定字节能充分表示字符。
在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛:标准输入输出,文件的操作,网络上的数据流,字符串流,对象流,zip文件流。 按流向分:
输入流: 程序可以从中读取数据的流。
输出流: 程序能向其中写入数据的流。
按数据传输单位分:
字节流: 以字节为单位传输数据的流
字符流: 以字符为单位传输数据的流
按功能分:
节点流: 用于直接操作目标设备的流
过滤流: 是对一个已存在的流的链接和封装,通过对数据进行处理为程序提供功能强大、灵活的读写功能。 JDK所提供的所有流类位于java.io包中,都分别继承自以下四种抽象流类。
InputStream:继承自InputStream的流都是用于向程序中输入数据的,且数据单位都是字节(8位)。
OutputStream:继承自OutputStream的流都是程序用于向外输出数据的,且数据单位都是字节(8位)。
Reader:继承自Reader的流都是用于向程序中输入数据的,且数据单位都是字符(16位)。
Writer:继承自Writer的流都是程序用于向外输出数据的,且数据单位都是字符(16位)。 BufferedInputStreamBufferedInputStream 为另一个输入流添加一些功能,即缓冲输入以及支持 mark 和 reset 方法的能力。BufferedOutputStream该类实现缓冲的输出流。BufferedReader从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。BufferedWriter将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。ByteArrayInputStreamByteArrayInputStream 包含一个内部缓冲区,该缓冲区包含从流中读取的字节。ByteArrayOutputStream此类实现了一个输出流,其中的数据被写入一个 byte 数组。CharArrayReader此类实现一个可用作字符输入流的字符缓冲区。CharArrayWriter此类实现一个可用作 Writer 的字符缓冲区。Console此类包含多个方法,可访问与当前 Java 虚拟机关联的基于字符的控制台设备(如果有)。DataInputStream数据输入流允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型。DataOutputStream数据输出流允许应用程序以适当方式将基本 Java 数据类型写入输出流中。File文件和目录路径名的抽象表示形式。FileDescriptor文件描述符类的实例用作与基础机器有关的某种结构的不透明句柄,该结构表示开放文件、开放套接字或者字节的另一个源或接收者。FileInputStreamFileInputStream 从文件系统中的某个文件中获得输入字节。FileOutputStream文件输出流是用于将数据写入 File 或 FileDescriptor 的输出流。FilePermission此类表示对文件和目录的访问。FileReader用来读取字符文件的便捷类。FileWriter用来写入字符文件的便捷类。FilterInputStreamFilterInputStream 包含其他一些输入流,它将这些流用作其基本数据源,它可以直接传输数据或提供一些额外的功能。FilterOutputStream此类是过滤输出流的所有类的超类。FilterReader用于读取已过滤的字符流的抽象类。FilterWriter用于写入已过滤的字符流的抽象类。InputStream此抽象类是表示字节输入流的所有类的超类。InputStreamReaderInputStreamReader 是字节流通向字符流的桥梁:它使用指定的 charset 读取字节并将其解码为字符。LineNumberInputStream已过时。此类错误假定字节能充分表示字符。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯