java IO学习

File类:

        createNewFile():创建新文件。

        mkdir():创建目录。

        delete():删除文件或目录。

        createTempFile():创建临时文件。

        deleteOnExit():程序结束时,删除文件,临时文件也一并删除。

        list():返回文件列表。

        isDirectory():是否是一个文件目录。

        因为反斜杠在java中有其意义,所以在创建路径的时候不能用"\"。可以用分隔符separator,File.separator在File构造器中表示根目录。

流的分类及输入/出流:

       节点流:从特定的地方写出的流(白色)。

       过滤流:使用节点流作为输入或者输出(淡黄色)。

             java IO学习_第1张图片

            java IO学习_第2张图片

         String.getBytes():字符转化为字节。

         read():读取字节。

         write():写入字节。

         BufferedInputStream、BufferedOutputStream:使用缓存,BufferedInputStream实现flush()方法,BufferedOutputStream实现了mark()、reset()方法。

         DataInputStream、DataOutputStream:可以读写java基本数据类型。

         PipedInputStream、PipedOutputStream:线程中实现数据通信,成对出现。

 Reader、Writer:

           java IO学习_第3张图片

           java IO学习_第4张图片

          BufferedWriter中readLine():可以按行读取数据。

          FilterReader和FilterWriter实现字节字符的转化。FileWriter (Writer图中的FileReader,图中画错)提供字节像字符转化,不进行写入操作。

RandomAccessFile类:

          实现DataInputStream和DataOutputStream接口,提供了对文件随机存取的能力。

         writeByte():写入一个字节(中文因为至少两个字节,所以不可以用它写入)。

         writeChars():写入两个字节。

         writeUTF():在写入数据的时候,会记录字节的写入长度(字符的前两个字节)。

         getFilePointer():用RandomAccessFile读取数据的时候,要用文件指针操作。返回文件的偏移量,会报出EOFException异常。

         seek():记录文件执政的偏移量, 伴随文件的读取往后移动。

对象序列化:

          实现对象序列化:必须实现Serializable或Extermalinable接口。

          ObjectInputStream中writeObject():对象序列化。

          ObjectOutputStream中readObject():反序列化。

          1.反序列化不掉用房构造方法。

          2.序列化时不保存成员方法和静态成员变量。

          3.若成员变量是一个对象,则此对象也会被保存。

          4.序列化对象中若存在不可序列化对象的引用,则会序列化失败,抛出NotSerizaliableException。用transient修饰此对象,使其不保存。

          5.序列化时会调用writeObject()方法(私有,但是序列化都会调用,java中特列),readObject()和writeObject()一样,只不过在反序列化时调用。

你可能感兴趣的:(java,IO,list,File,delete)