`

Java IO流 分类 概述

阅读更多

文件流


       实现对文件的读取操作:FileInputStream FileReader
       实现对文件的写入操作:FileOutputStream FileWriter

 


缓冲流


       ByteArrayInputStream、ByteArrayOutputStream:

              在内存中创建一个字节缓冲区实现信息的读取、写入。关闭此流后,类中的方法仍能调用,不会产生异常。
 
       CharArrayReader、CharArrayWriter:

              在内存中创建一个字符缓冲区实现信息的读取、写入。
 
       BufferedReader、BufferedWriter:
       BufferedInputStream、BufferedOutputStream:
               支持其父类的mark()和reset()方法;
               BufferedReader、BufferedWriter能够读取写入一行字符串;
               刷新缓冲的输出流方法flush();
  


管道流


        PipedInputStream、PipedOutputStream:主要在线程中使用
        PipedReader、PiperWriter:

 

 

数据流


        DataInputStream、DataOutputStream:提供了可以存取各种基本类型数据。

 


转换流


 InputStreamReader、OutputStreamWriter:可以指定编码格式

 


Print流
 

        PrintWriter:
        PrintStream:

1、提供了重载的print、println方法用于多种数据类型的输出;
2、 不会抛出异常;
3、具有自动刷新flush功能。

 

 

Object流


 1、直接将Object读取写入;
 2、transient关键字
           不需要序列化的属性。
 3、Serializable接口
           实现Serializable接口不需要实现任何方法,但被其修饰的需要序列化的类必须有一个空的构造函数。否则在readObject时会出现InvalidClassException异常。
 4、Externalizable接口
           自定义序列化。
 

 

过滤流

 

 

 FilterInputStream:

BufferedInputStream

DataInputStream

 

FilterOutputStream:

BufferedOutputStream

DataOutputStream

PrintStream
  


RandomAccessFile


 1) 可通过RandomAccessFile对象完成对文件的读写操作
 2) 在产生一个对象时,可指明要打开的文件的性质:r,只读;w,只写;rw可读写
 3) 可以直接跳到文件中指定的位置


另:
 StringBufferInputStream、StringBufferOutputStream:过时,不能正确将字符转换为字节。从字符串创建流应首选StringReader、StringWriter类。
 
 SequenceInputStream:把多个InputStream合并为一个InputStream,它没有对应SequenceOutputStream。

分享到:
评论

相关推荐

    java基础之IO流

    ### Java IO流基础知识点 #### 一、IO流概述 - **定义**:在Java中,IO流(Input/Output Streams)是用来处理输入输出的基本工具。流是一种有序的数据集合,通常涉及从源到目的地的数据传输过程。源可以是文件、...

    java IO流详解

    #### 一、流的概述与分类 在Java中,流是一种抽象概念,用于描述数据从一个地方传输到另一个地方的过程。它主要用于处理数据输入和输出,例如从磁盘读取文件、向网络发送数据或从键盘接收用户输入。Java中的流主要...

    java IO流学习笔记

    #### 五、IO流概述 在Java中,IO流用于处理输入/输出操作。根据数据单位的不同,可以分为字节流和字符流两大类。 - **字节流**:处理的数据单位是字节(8位),包括`InputStream`和`OutputStream`。 - **字符流**...

    java io流-3.pdf

    ### Java I/O流知识点概述 #### 一、Java I/O流基础 - **I/O流的概念**:Java中的所有输入/输出(I/O)设施都基于流,它提供了一种简单的方式来读取和写入不同类型的文件数据。 - **四类主要流**:Java I/O系统...

    JAVA IO流详解

    #### 一、Java IO流概述 Java IO流是Java程序与外部设备之间进行数据交互的重要方式之一。Java的核心库`java.io`提供了丰富的接口用于实现文件读写、标准设备输入输出等功能。Java IO流的设计基于流的概念,即数据...

    java IO 流详细分析

    #### 一、Java IO流概述 在Java中,输入/输出(Input/Output,简称IO)操作是程序与外部设备进行数据交换的重要方式。Java提供了丰富的API来支持各种类型的IO操作,包括文件读写、网络通信等。本文将对Java中的IO流...

    javaIO流笔记

    #### 一、Java IO流概述 在Java中,输入/输出(Input/Output,简称IO)操作是程序与外部设备进行数据交换的重要方式。Java提供了强大的IO流处理类库,主要位于`java.io`包中。这些类库支持多种数据类型的操作,包括...

    javaio流电子书整理面试必考io流帮助你入职阿里腾讯

    总结,Java IO流涉及的概念广泛,包括流的基本概念、分类、核心类的使用以及实际操作中的模式选择和编码处理。掌握这些知识点不仅能帮助开发者完成基本的文件操作,也是面试中经常被问到的领域,对于提升职业竞争力...

    Java-IO流基础例题 & 例题源码 & PPT教学文档(黑马程序员详细版).rar

    PPT教学文档通常会详细解释Java IO流的分类、用法、示例和最佳实践,帮助学习者更直观地理解各个流类的用途和工作原理。通过学习PPT,你可以了解如何在实际项目中合理选择和使用不同的流。 七、源码分析 提供的源码...

    JAVA IO流学习文档

    - **概述**:Java的IO流体系主要分为两大类——字节流和字符流,每种流又根据数据流向进一步分为输入流和输出流。 ##### 字节流 1. **InputStream**: 代表从源读取数据的字节输入流。 2. **OutputStream**: 代表向...

    IO笔记.zip关于javaIO流部分的详细笔记

    一、Java IO流概述 Java IO流分为四个主要类别:字节流(Byte Stream)、字符流(Character Stream)、对象流(Object Stream)和文件流(File Stream)。字节流处理单个字节的数据,字符流处理Unicode字符,对象流...

    java Io流总结(毕向东)

    在其分享的《Java Io流总结》文档中,详细介绍了Java IO流的基础概念、分类、特性以及常见异常等内容。 **Java中为什么提出流的概念?** 在Java中,引入流的概念主要是为了能够更加方便、高效地处理各种类型的输入...

    java_io流的处理

    ### Java IO流处理详解 #### I/O流概述 在Java编程中,输入/输出(I/O)处理是一项核心技能,涉及从键盘读取数据、向屏幕输出数据、从文件读写数据以及在网络连接上进行读写操作。Java将这些不同的输入输出源抽象...

    607.605.JAVA基础教程_IO流与网络编程-复习:IO流概述(607).rar

    本教程主要针对IO流的概述进行复习,帮助学习者理解和掌握这一关键概念。 1. 字节流:字节流处理的是单个字节的数据,包括InputStream和OutputStream家族。InputStream用于读取数据,如 FileInputStream 用于读取...

    目录多文件上传-JAVA IO流常用详解

    ### 目录多文件上传-JAVA IO流常用详解 #### 概述 本文将详细介绍一个Java程序中的功能模块——如何实现目录多文件上传,并利用Java IO流进行文件复制操作。该功能可以实现在用户选择一个目录后,自动扫描并上传该...

    文档JAVA-IO流

    #### 一、IO流概述 1. **什么是IO** - I代表**输入**(input),O代表**输出**(output)。在Java中,所有负责输入输出的类都位于`java.io`包内。这些类主要用于进行数据的输入输出操作。 2. **流的分类** - 按照...

    完整版 Java基础入门教程 Java程序语言设计 04 IO流 输入输出流(共31页).ppt

    完整版 Java基础入门教程 Java程序语言设计 04 IO流 输入输出流(共31页).ppt 完整版 Java基础入门教程 Java程序语言设计 05 GUI AWT 事件模型(共27页).ppt 完整版 Java基础入门教程 Java程序语言设计 05 GUI GUI...

Global site tag (gtag.js) - Google Analytics