java 中 IO 流分为几种?
1 个回答
见过花就好,何必在意花属于谁。java小生### Java IO 流分类及其基本类 Java IO 流共涉及 40 多个类,这些类按以下几个标准进行分类,并且从四个抽象基类派生而来。 #### 按流的流向分类 - **输入流**:从外部设备(如文件、网络等)读取数据到内存中。 - **输出流**:将数据从内存写入到外部设备。 #### 按操作单元分类 - **字节流**:以字节为单位进行操作,主要用于处理二进制数据。 - **字符流**:以字符为单位进行操作,主要用于处理文本数据。 #### 按流的角色分类 - **节点流**:直接与数据源或数据目标相连,如文件流、内存流。 - **处理流**:在已存在的流之上进行数据处理和转换,如缓冲流、数据流。 ### 四个抽象基类 #### 输入流基类 - **InputStream**:所有字节输入流的基类。 - **Reader**:所有字符输入流的基类。 #### 输出流基类 - **OutputStream**:所有字节输出流的基类。 - **Writer**:所有字符输出流的基类。 ### Java IO 流的分类结构图 #### 按操作方式分类 ``` +--------------------+ | InputStream | 字节输入流基类 +--------------------+ | Reader | 字符输入流基类 +--------------------+ | OutputStream | 字节输出流基类 +--------------------+ | Writer | 字符输出流基类 +--------------------+ ``` #### 按操作对象分类 ``` +--------------------+ | FileInputStream | 文件输入流(字节流) +--------------------+ | FileOutputStream | 文件输出流(字节流) +--------------------+ | FileReader | 文件输入流(字符流) +--------------------+ | FileWriter | 文件输出流(字符流) +--------------------+ | BufferedInputStream | 缓冲输入流(字节流) +--------------------+ | BufferedOutputStream | 缓冲输出流(字节流) +--------------------+ | BufferedReader | 缓冲输入流(字符流) +--------------------+ | BufferedWriter | 缓冲输出流(字符流) +--------------------+ | DataInputStream | 数据输入流(字节流) +--------------------+ | DataOutputStream | 数据输出流(字节流) +--------------------+ | InputStreamReader | 字符输入流(字符流) +--------------------+ | OutputStreamWriter | 字符输出流(字符流) +--------------------+ ``` ### 结论 - **按流的流向**:输入流和输出流。 - **按操作单元**:字节流和字符流。 - **按流的角色**:节点流和处理流。 - **基类**: - InputStream(字节输入流) - Reader(字符输入流) - OutputStream(字节输出流) - Writer(字符输出流) Java IO 流通过这几种方式进行分类,并从这四个抽象基类派生出各种具体实现,形成一个结构化的IO操作体系。编辑于 2021-08-07 03:23 •IP属地 北京举报评论收藏
公众号进入网站体验更佳

