io流基础知识总结

时间:2020-12-05 20:00:26
1.文件操作:
  在java中如何操作磁盘中的文件,java中把文件作为一个对象进行操作;
 
  File类进行表示磁盘中的文件:
  路径:
  绝对路径:从磁盘的根目录进行表示
  相对路径: 相对某一个参照物进行定位
 
  路径的分隔符:包括:/\
  File.searator  斜杠
  File.pathSeparatorChar 冒号
 
 2.如何创建一个文件对象;
  File f = new File(path);
  File f = new File(File parent, String child);
 
 3.如何在磁盘使用java创建一个新文件
    createNewFile();
    mkdir;
    mkdirs;
    
    
  4.IO流:数据的传输
                       从方向上分:输入  和  输出(以计算机的内存)
         从数据上分:字节流(字节为单位读取) 字符流(以字符为单位)
         功能上分:节点流  包装流(经过处理的流,目的提高效率)
         
 所有的流都来自于四个抽象类:
         InputStream OutputStream  --->字节流  (读任何文件)
         Reader    Writer          --->字符流 (只能读写文本文件)
         
         
         字节输入流:InputStream---> FileInputStream  
                 读取文件:
                 1.创建一个流指向源文件;
                 2.利用read读取文件
                 
         字节输出流:OutputStream---> FileOutputStream
                         写文件:
                 1.创建一个流指向文件
                 2.利用write方法写数据
                     
        字符流:
                Reader:
                   FileReader
                  Writer:
                      FileWriter
                      
            包装流:
                    BufferedReader
                    BufferedWriter
         
         
        数组字节流:是操作数组的数据,和文件没有关系
                ByteArrayInputStream
                ByteArrayOutputStream
         
             
         
         
         
     序列化:
     
         对象流
         ObjectOutputStream    ObjectInputStream
         
           static    transient修饰的属性不能被序列列
         
           Serializable : java.io.Serializable接口可以使我们的对象永久的持久化可以将一个对象(标志对象的类型)及其状态转换为字节码,
                           保存起来(可以保存在数据库,内存,文件等),然后可以在适当的时候再将其状态恢复(也就是反序列化), serialization
                        不但可以在本机做,而且可以经由网络操作。它自动屏蔽了操作系统的差异,字节顺序等
           
           
           Externalizable 接口:实现此接口的类必须从写此接口的方法,然后可以使被transient修饰的变量序列化