• JavaIO流(二)


    1.File类:用于将文件和文件夹封装成对象。new File("",true) 为续传。
      1,创建:
        boolean createNewFile():如果该文件不存在,会创建,如果已存在,则不创建。不会像输出流一样会覆盖。
        boolean mkdir();
        boolean mkdirs();
      2,删除:
        boolean delete();
        void deleteOnExit();
      3,获取:
        String getAbsolutePath();
        String getPath();
        String getParent();
        String getName();
        long length();
        long lastModified();
      4,判断:
        boolean exists();
        boolean isFile();
        boolean isDirectory();

    2.打印流:当需要保证数据表现的原样性时,就可以使用打印流的打印方法来完成,这样更为方便。保证原样性的原理:其实就是将数据变成字符串,在进行写入操作。
      PrintStream:字节打印流。
        特点:
        1,构造函数接收File对象,字符串路径,字节输出流。意味着打印目的可以有很多。
        2,该对象具备特有的方法 打印方法 print println,可以打印任何类型的数据。
        3,特有的print方法可以保持任意类型数据表现形式的原样性,将数据输出到目的地。对于OutputStream父类中的write,是将数据的最低字节写出去。
      PrintWriter:字符打印流。
        特点:
        1,当操作的数据是字符时,可以选择PrintWriter,比PrintStream要方便。
        2,它的构造函数可以接收 File对象,字符串路径,字节输出流,字符输出流。
        3,构造函数中,如果参数是输出流,那么可以通过指定另一个参数true完成自动刷新,该true对println方法有效。

    3.序列流:
      SequenceInputStream: 表示其他输入流的逻辑串联。它从输入流的有序集合开始,并从第一个输入流开始读取,直到到达文件末尾,接着从第二个输入流读取,依次类推,直到到达包含的最后一个输入流的文件末尾为止。
        特点:
        1,将多个字节读取流和并成一个读取流,将多个源合并成一个源,操作起来方便。
        2,需要的枚举接口可以通过Collections.enumeration(collection);

    4.ObjectInputStream 和 ObjectOutputStream 对象的序列化和反序列化。

      writeObject
      readObject
      Serializable标记接口
      关键字:transient

    5.RandomAccessFile:通过seek方法操作指针,可以从这个数组中的任意位置上进行读和写,可以完成对数据的修改。但是要注意:数据必须有规律。
      特点:
      1,即可读取,又可以写入。
      2,内部维护了一个大型的byte数组,通过对数组的操作完成读取和写入。
      3,通过getFilePointer方法获取指针的位置,还可以通过seek方法设置指针的位置。
      4,该对象的内容应该封装了字节输入流和字节输出流。
      5,该对象只能操作文件。

    6.管道流:需要和多线程技术相结合的流对象。
      PipedOutputStream
      PipedInputStream

    7.用操作基本数据类型值的对象。
      DataInputStream
      DataOutputStream

    8.设备是内存的流对象。
      ByteArrayInputStream
      ByteArrayOutputStream
      CharArrayReader
      CharArrayWriter
    ------------------------------------------------------------------------------------------------------------------------------------------------
    IO流体系:

      字符流:
        Reader
          |--BufferedReader:
            |--LineNumberReader
          |--CharArrayReader
          |--StringReader
          |--InputStreamReaer
            | --FileReader

        Writer
          |--BufferedWriter
          |--CharArrayWriter
          |--StringWriter
          |--OutputStreamWriter
            |--FileWriter
          |--PrintWriter

      字节流:
        InputStream
          |--FileInputStream:
          |--FilterInputStream
            |--BufferedInputStream
            |--DataInputStream
          |--ByteArrayInputStream
          |--ObjectInputStream
          |--SequenceInputStream
          |--PipedInputStream

        OutputStream
          |--FileOutputStream
          |--FilterOutputStream
            |--BufferedOutputStream
            |--DataOutputStream
          |--ByteArrayOutputStream
          |--ObjectOutputStream
          |--PipedOutputStream
          |--PrintStream

      随机读写流:
        RandomAccessFile

  • 相关阅读:
    解决ubuntu中zip解压的中文乱码问题
    GCC 静态库和动态库
    交互式shell和非交互式shell、登录shell和非登录shell的区别
    牛顿迭代法实现平方根函数sqrt
    Sqrt函数高效实现
    Http、tcp、Socket连接区别
    C++11的一般概念——The C++ standard library, 2nd Edition 笔记(二)
    C++11新特性——The C++ standard library, 2nd Edition 笔记(一)
    【Java线程与内存分析工具】VisualVM与MAT简明教程
    Java设计模式:Proxy(代理)模式
  • 原文地址:https://www.cnblogs.com/lyp-java/p/4533675.html
Copyright © 2020-2023  润新知