• File是一个  文件和目录路径名  的抽象表示,通过File可以查看文件的各种信息,也可以增加删除文件。

  • File构造器接受一个路径字符串并把它与实际文件目录映射起来,也能接受父子目录,无论是相对路径还是绝对路径
  1.  File 对文件和目录操作的功能几乎都有如 查看读写权限,查看父子目录,创建 删除 重命名文件等等。

2 输入和输出

  • 输入流 InputStream / Reader 就是把数据从某处(一般就是构造器中的对象)读到本身,再read( )到别处。
  • 输出流 OutputStream / Writer 就是从本身writer( )数据写入到其他对象(构造器中的对象)
  • InputStream、OutputStream 是字节流
  • Reader、Writer 是字符流,一般使用字符流,再只能使用字节流解决问题的地方使用字节流。

2.1 输入流

  1. InputStream :所有有关输入的流都从这继承 (抽象类),提供了输入流所具备的基本方法。因为读取的数据源(构造器中的数据源)不相同,所以产生了很多子类。
    int available() 
    返回从该输入流中可以读取(或跳过)的字节数的估计值,而不会被下一次调用此输入流的方法阻塞。  
    void close() 
    关闭此输入流并释放与流相关联的任何系统资源。  
    void mark(int readlimit) 
    标记此输入流中的当前位置。  
    boolean markSupported() 
    测试这个输入流是否支持 mark和 reset方法。  
    abstract int read() 
    从输入流读取数据的下一个字节。  
    int read(byte[] b) 
    从输入流读取一些字节数,并将它们存储到缓冲区 b 。  
    int read(byte[] b, int off, int len) 
    从输入流读取最多 len字节的数据到一个字节数组,从数组off开始写入。  
    void reset() 
    将此流重新定位到上次在此输入流上调用 mark方法时的位置。  
    long skip(long n) 
    跳过并丢弃来自此输入流的 n字节数据。  
    1. ByteArrayInputSteram( byte[ ]  b)  :从缓冲区(byte[ ])读取数据,可以把b中的字节read出去。
    2. FileInputStream(File / String ):可提供一个File,或者 文件路径String 或者(FileDescriptor)给构造器 ,从文件中读数据,找不到文件报异常。
    3. PipedInputStream() :管输入道流 用来和管道输出流对接,构造器接受一个PipedOutputStream或者同时指定int值为缓冲区的大小。
      • 典型地使用方法,在一个线程中数据从PipedInputStream读入,此数据是由另一个线程写入到对应的PipedOutputStream中单线程下使用可能还会造成死锁。
    4. SequenceInputStream:将多个输入流连接起来。它从一个有序的输入流集合开始,从第一个读取到文件的结尾,然后从第二个文件读取,依此类推,直到最后一个输入流达到文件的结尾。
    5. FilterInputStream :装饰器,其他输入流提供有用功能。装饰器的构造器接收的都是流
      1. DataInputStream(InputStream in):可以从流中按基本数据类型和String读取数据,上面的只能按字节读取,输出也只能输出int 或者 byte。(字节流为了解决字符的问题产生)
        int read(byte[] b) 
        boolean readBoolean() 
        byte readByte() 
        char readChar() 
        double readDouble() 
        float readFloat() 
        int readInt() 
        long readLong() 
        short readShort() 
        String readUTF(string) 
        View Code

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-12-15
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-04-11
猜你喜欢
  • 2021-12-17
  • 2021-08-26
  • 2021-11-19
  • 2021-12-03
  • 2021-11-20
  • 2022-01-05
相关资源
相似解决方案