8.15笔记

复习{
 I/O流: 
      作用 就是用来传输数据的,从数据源 到数据汇的一个过程
 
      In 输入 
      Out 输出
   
   输入和输出代表流的方向, 体现在代码上 In 就时read读 
   Out就是write写的意思
   
 I/O划分是按方向: 
      输入流:
      输出流:
      
 I/O划分是按类型: 
     字节流:
     字符流:      
      
  字节流的输入流:  InputStream      抽象类
  字节流的输出流:  OutputStream   抽象类
 
  字符输入流:  Reader   抽象类
  字节输出流:  Writer   抽象类
   
InputStream: 将数据读取到 java内存中
     1.ByteArrayInputStream (铺垫)
     2.FileInputStream 文件输入流
     3.ObjectInputStream
    4.AudioInputStream 音频传输流
    5.PipedInputStream 管道流
    6.StringBufferInputStream 过时了
    
OutputStream: 
     1.ByteArrayOutputStream (铺垫)
     2.FileOutputStream     文件输出流
     3.ObjectOutputStream
     4.AudioOutputStream
     5.PipedOutputStream
     6.StringBufferOutputStream 过时了

InputStream: 
     1.available();
     2.read();
     3.read(byte[] b);
     4.read(byte[] b,int off ,int len);
     5.close();
     6.skip(long a); 跳过
 
OutputStream:
    1.flush();  将缓存区中的内容 写出
    2.close();
    3.write(int a);
    4.write(byte[] b);
    5.write(byte[] b,int off,int len);

FileInputStream,FileOutputStream操作的是文件:
    学习它之前  应该先学习File 类
    File:
      构造器:  new File("路径");
      
     方法: 
        createNewFile(); 创建一个 新的文件
        exists(); 判断是否存在
        isHidden(); 判断是否是隐藏文件
        delete();删除
        getName();
        getPath();
        getParent();
        mkdir(); 创建单层文件夹
        mkdirs();   创建多层文件夹
        listFiles();  获取当前目录下的所有文件
        length(); 
        lastModified();
        isFile(); 判断是否是文件
        isDirectory();  判断是否是文件夹
}
======================================================================
1.listFiles();
     
   递归:
    是循环的另一种形式,自己调用自己,会有终止条件
 
 案例1:完成当前文件夹的遍历
 案例2:完成文件夹的删除
 
2.FileInputStream 文件输入流:    
      FileInputStream(File file); 
     FileInputStream(String name); 

   方法就是InputStream中


3.FileOutputStream
     FileOutputStream(File file);
     FileOutputStream(File file, boolean append);  append拼接 

  方法就是OutputStream中

 完成图片下载: 
   URL: 
   URLConnection:
=========================================================================================
对象流:
ObjectOutputStream:  序列化
     readObject();
     
ObjectInputStream:     反序列化
    writeObject(Object obj);
    
    什么是序列化: 
        将 内存中的对象  通过流的 方式  存储到 物理文件中的 过程就是序列化、
        
    什么是反序列化:
            将物理文件中的内容,通过流的方式 ,写入到内存中的过程 就是反序列化    

序列化  和反序列化 没有 必要 同时执行;
 自己执行自己的就可以了
 
但是实现 序列化的前提是 当前对象  必须 实现 Serializable

     public class Person implements Serializable{
     
     }


        /**
         * java中创建对象的方式有几种?
         *      1.new Person();
         *      2.反序列化
         */
        
总结: 
  1.学会File类的操作
        遍历,删除
  2.学会文件的复制
       FileInputStream ,FileOutputStream
  3.对象流 : 
           序列化, 和 反序列化     
      ObjectInputStream , ObjectOutputStream

   
   
   
   
   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值