• java io 输入输出流


    数据流分类:

    流序列中的数据既可以是未经加工的原始二进制数据,

    也可以是经一定编码处理后符合某种格式规定的特定数据。

    因此Java中的流分为两种:
    1) 字节流:数据流中最小的数据单元是字节
    2) 字符流:数据流中最小的数据单元是字符, Java中的字符是Unicode编码,一个字符占用两个字节。

    主要的类如下:
    1. File(文件管理):如生成新目录,修改文件名,删除文件,判断文件所在路径等。
    2. InputStream(二进制操作):抽象类,基于字节的输入操作,是所有输入流的父类。定义了所有输入流都具有的共同特征
    3. OutputStream(二进制操作):抽象类。基于字节的输出操作。是所有输出流的父类。定义了所有输出流都具有的共同特征。

    4. Reader(文件格式操作):抽象类,基于字符的输入操作。
    5. Writer(文件格式操作):抽象类,基于字符的输出操作。
    6. RandomAccessFile(随机文件操作):它的功能丰富,可以从文件的任意位置进行存取(输入输出)操作。
    Java中IO流的体系结构如图:

    一、按I/O类型来总体分类:

    1. Memory

    1)从/向 内存 数组读写数据: CharArrayReader、 CharArrayWriter、ByteArrayInputStream、ByteArrayOutputStream
    2)从/向 内存 字符串读写数据 StringReader、StringWriter、StringBufferInputStream
    2.Pipe管道 实现管道的输入和输出(进程间通信): PipedReader、PipedWriter、PipedInputStream、PipedOutputStream
    3.File 文件流。对文件进行读、写操作 :FileReader、FileWriter、FileInputStream、FileOutputStream
    4. ObjectSerialization 对象输入、输出 :ObjectInputStream、ObjectOutputStream
    5.DataConversion数据流 按基本数据类型读、写(处理的数据是Java的基本类型(如布尔型,字节,整数和浮点数)):DataInputStream、DataOutputStream
    6.Printing 包含方便的打印方法 :PrintWriter、PrintStream
    7.Buffering缓冲 在读入或写出时,对数据进行缓存,以减少I/O的次数BufferedReader、BufferedWriter、BufferedInputStream、BufferedOutputStream
    8.Filtering 滤流,在数据进行读或写时进行过滤:FilterReader、FilterWriter、FilterInputStream、FilterOutputStream过
    9.Concatenation合并输入 把多个输入流连接成一个输入流 :SequenceInputStream

    10.Counting计数 在读入数据时对行记数 :LineNumberReader、LineNumberInputStream
    11.Peeking Ahead 通过缓存机制,进行预读 :PushbackReader、PushbackInputStream
    12.Converting between Bytes and Characters 按照一定的编码/解码标准将字节流转换为字符流,或进行反向转换(Stream到Reader,Writer的转换类):InputStreamReader、OutputStreamWriter

     1. InputStream抽象类 

    主要的子类:

            

            1) FileInputStream把一个文件作为InputStream,实现对文件的读取操作     
        2) ByteArrayInputStream:把内存中的一个缓冲区作为InputStream使用 
        3) StringBufferInputStream:把一个String对象作为InputStream 
        4) PipedInputStream:实现了pipe的概念,主要在线程中使用 
        5) SequenceInputStream:把多个InputStream合并为一个InputStream 

    http://blog.csdn.net/hguisu/article/details/7418161

  • 相关阅读:
    12个思维管理工具:标杆分析法、麦肯锡7步分析法、SMART原则....
    Capturing Audio in Android Q
    闭环思维
    如何下载Google Play商店的apk?如何安装分割的apk ?
    强制删除文件 或 文件夹
    ToDesk ---- 个人免费 极致流畅的远程协助软件
    无法显示内挂(非内嵌)字幕-
    MKVToolNix 一款Matroska(.mkv)格式编辑工具,可以将超过16条音轨/字幕封装到一个.mkv文件中去
    Symantec Endpoint Protection(赛门铁克杀毒软件) 如何添加白名单避免被误删、误杀?
    二维码识别工具
  • 原文地址:https://www.cnblogs.com/nulisaonian/p/6130441.html
Copyright © 2020-2023  润新知