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

posted @ 2015-05-27 15:58  mike.lee  阅读(147)  评论(0)    收藏  举报