Java进阶(I/O系统)

来源:互联网 发布:现代言情推荐 知乎 编辑:程序博客网 时间:2024/06/05 02:51
    流的概念:在Java中,对于数据的输入/输出操作以“流”(stream)方式进行的,流简单的来说就是用来读写数据的。从程序中读数据,数据的载体就是流。
    java.io包中定义了多个流类型来实现输入/输出功能:可以从不同的角度对其进行分类;
·按数据流的方向不同可分为输入流和输出流(以程序的角度)
·按处理数据单位的不同可以分为字节流和字符流
·按功能不同可以分为节点流和处理流

    
    四个抽象类,不同流的类型从这四个抽象类继承。
    
节点流为可以从一个特定的数据源(节点)读写数据;处理流是“链接”在已存在的流之上,通过对数据的处理为程序提供更强大的读写功能。

    InputStream:继承自这个抽象类的流都是用于向程序中读入数据,且数据的单位为8个位(即1个字节)。
    
    这些都是实现这个抽象类的流类。
    
    
OutputStream的流是用于程序输入数据,且数据的单位为字节。
    

    
Reader:继承自Reader的流都是用于向程序中输入数据,且数据的单位为字符;Writer:继承自Writer的流都是用于从程序中读取数据,且数据的单位也为字符。

    
    这些都是节点流的类;
    
    处理流中的缓冲流:缓冲流要“套接”在相应的节点流之上,对读写的数据提供了缓冲的功能,提高了读写的效率,同时增加了一些新的方法。
    
    这些都是处理流的类;
    
    接下来直接将一些常用的I/O类写出来:
    
InputStream//字节流
    OutputStream//字节流
    Reader//字符流
    Writer//字符流

    四个抽象类

    FileReader//文件字符流
    FileWriter//文件字符流
    FileInputStream//文件字节流
    FileOutputStream    //文件字节流

    BufferedReader//字符缓冲流
    BufferedWriter//字符缓冲流
    BufferedInputStream//字节缓冲流
    BufferedOutputStream//字节缓冲流

    InputStreamReader//字节转化流 将字节流转换成字符流
    OutputStreamWriter//字节转换流 将字节流转换成字符流

    DataInputStream//数据流
    DataOutputStream//数据流

    ByteArrayInputStream//字节数组输入流
    ByteArrayOutputStream//字节数组输出流

    PrintWriter//字符打印流
    PrintStream//字节打印流
    
    ObjectInputStream
//Object输出流    
    ObjectOutputStream//Object输入流
0 0
原创粉丝点击