zoukankan      html  css  js  c++  java
  • JavaI/O 系统

    1.JavaI/O 系统概述

    A.  输入输出(I/O):指的是计算机与外部世界,或者一个程序与计算机的其余部分之间的接口

    B. 流的概念(流:Stream)

    流的基本特性:有数据、有方向

    2. 流的分类

    A.按数据流的方向分:

      a. 输入流:从数据源到应用程序(类:InputStream、Reader)

      b. 输出流:从应用程序到数据源(类:OutputStream、Writer)

    B. 按处理数据的最小单位的不同分

      a. 字节流:(最小单位:byte) (类:InputStream、 OutputStream)

      b. 字符流:(最小单位:char) (类: Reader 、 Writer)

    C. 按流的功能分:

      a. 节点流(低级流)

      b.  处理流(高级流)

    判断一个流是否是高级流:查看该类的构造器,如果类的构造器带有一个已存在的流作为参数,则是高级流

    所有I/O操作的步骤:

    建立流、读写流、关闭流

    3. 文件类(File类)

    A. 创建对象:File file = new File(“test.txt”);

    4. 字节流:所有面向字节的流类都继承于InputStream类(输入流)或OutputStream类(输出流),这两个类是抽象类,我们可以利用它的子类来完成不同的功能。

    A.InputStream类

    InputStream in = null;

    In = new FileInputStream(“test.txt”);

    方法:

    close():  关闭输入流

    read():从流中读取下一个字节

    read(byte[ ]  b): 从输入流中读取一些字节,并存入数组b

    read(byte[ ] b, int off, int len):从输入流中读取前len个字节并存入数组b

    B.OutputStream类

     OutputStream out = null;

    out = new FileOutputStream(“test.txt”);

    方法:

    close():关闭该输出流

    write(byte[] b):将 b.length 个字节从指定的字节数组写入此输出流

    write(byte[] b, int off, int len) :将指定字节数组中从偏移量 off 开始的 len 个字节写入此输出流

    5. 字符流

    A.字符输入流Reader:

    Reader类中两个常用类:

       FileReader:以字符流的形式读取文件,与FileInputStream 用法基本一致

       BufferedReader:将流读入缓冲区,然后从缓冲区读取,并且提供了readLine()方法,可以从文本文件中整行的读取数据

    Reader r = null;

    r = new FileReader(“test.txt”);

    B.字符输出流Writer:

    Writer类中两个常用类:

        FileWriter:以字符流的形式写入文件,与FileOutputStream用法基本一致 

        BufferedWriter:将缓冲区输出到流

    Writer w = null;

    w = new FileWriter(“test.txt”);

    6. 对象流

    A. ObjectInputStream:对象输入流

    B. ObjectOutputStream:对象输出流,注意在对象从内存保存到硬盘这个过程中,我们需要先将对象转化成字节流在进行保存,这个过程叫做对象的序列化。只要让对象实现Serializable接口即可,从硬盘读取对象到内存这个过程称为反序列化。

  • 相关阅读:
    RTP 协议
    RTSP 协议分析 (一)
    RTSP协议分析(二)
    CreateRemoteThread简单应用
    函数开始处的MOV EDI, EDI的作用
    eax,ebx,ecx,edx,esi,edi,ebp,esp寄存器的作用
    C++函数调用原理理解
    WinDBG常用断点命令
    利用bu命令下延迟断点
    Windbg 查看SSDT表
  • 原文地址:https://www.cnblogs.com/lxh1197412986/p/4556053.html
Copyright © 2011-2022 走看看