JAVA从零学re从零开始的JAVA学习04——<javaSE阶段二基础版>
day04 File类、字节流字符流、缓冲流转换流、序列化Files使用
1.File类
概述:文件和目录路径名(文件夹)的类,主要用于创建、查找、删除文件
构造方法:File(String pathname)、File(String parent,String child)、File(File parent,String child)
常用方法:
      
       
      
      
2.io流操作——字节字符流
概述:字节输出流(OutputStream)、字节输入流(InputStream)、字符输入流(Reader)、字节输出流(Writer)
字节输出流OutputStream:抽象类
        
        
子类:FileOutputStream;
构造方法:
        
字节输入流InputStream:抽象类
常用方法:
          
子类:FileInputStream
构造方法:
        
读取字节:当读取到最后结尾时返回1,当以字节数组读取时 如果字节数组没有填满 就会读取错误!解决方法:o.write(S,0,len)
字符流:字符输出流Writer,字符输入流Reader
        字符输入流Reader:抽象类
子类方法:FileReader
构造方法:
      
字符输出流:Writer:抽象类
常用方法:
         
子类:FileWriter
构造方法:
        
io流字节、字符输入输出流补充:
换行操作字符输出写入”\r\n“;
异常处理问题在jdk1.7之后不需要finally关流 需要在try(括号中创建流操作的对象)
properties的使用:——————————————真尼玛学啥玩意
        
3.缓冲流转换流序列化流
缓冲流:字节缓冲输出流BufferedOutputStream、字节缓冲输入流BufferedInputStream、字符缓冲输出流BufferedWriter、字符缓冲输入流BufferedInput
概述:提高文件的输入输出效率 基本原理:内置默认大小的缓冲区数组,通过缓冲区读写减少io次数提高读写效率
字节缓冲流:构造方法:
      
字符缓冲流:构造方法:
      
字符缓冲流特有方法:readLine读取一行文字 newLine写一行文字
高效升级版的字节、字符流
转换流:解决解码的问题——用什么编码就需用什么解码
      
InputStreamReader是Reader的子类
构造方法:
        
OutputStreamWriter是Writer的子类
构造方法:
        
转换流中的编码和解码形式需要指定 不然编码和解码不一致也会出现乱码
序列化和反序列化:本质上是变成字节数组
ObjectOutputStream类 构造方法ObjectOutputStream(FileOutputStream)
序列化操作流程:
满足两个条件:必须继承Serializable接口 不需要序列化的属性需要使用transient修饰 用static 修饰的属于类不属于对象也不能序列化
          写出对象:方法
反序列化操作:
将序列化原始数据恢复为对象
构造方法
          
           写入对象:方法
操作注意事项:1 文件需要存在可以找到 2序列化号 需要一致 不能修改文件
          
4.Files打印流
构造方法PrintStream(String name)
使用
        

 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号