JAVA基础Day17

复习

  • File:代表文件或者目录的抽象路径 - File对象对应的文件或者目录不一定真实存在
    1. 如果利用File删除文件或者目录,这个操作是不可逆操作
    2. 路径:在计算机中存在相对路径和绝对路径。绝对路径是从根路径(在Windows中根路径是盘符,在Linux中根路径是/)开始计算;相对路径是以当前路径为基准来计算其他的路径
  • IO流
    1. IO流是Java中提供一套用于进行数据传输的机制
    2. 传输方向:输入流和输出流。传输形式:字节流和字符流

IO流

  1. 缓冲流:在流中自动提供了缓冲区
    1. BufferedReader:需要利用一个Reader对象来构建BufferedReader,这个类中提供了readLine方法来对文件进行按行读取
    2. 练习:统计到目前为止,一共写了多少行Java代码 - 定义函数,传入存储路径,然后需要获取这个路径中所有的子文件和子目录,如果是子目录,继续获取其中的子文件和子目录;如果是子文件,那么获取文件的名字,判断是不是java文件;如果是java文件,那么需要按行读取文件,统计行数
    3. BufferedWriter:需要利用Writer对象来构建BufferedWriter对象,这个类提供了比普通的Writer对象更大的缓冲区。这个类中提供了newLine方法来进行换行
    4. 无论是BufferedReader还是BufferedWriter,都是基于装饰者模式/包装模式来构建的
    5. 装饰者模式:利用同类对象来构建本类对象,在构建过程中,对功能进行增强或者改变
    6. 文件字节流
      1. 包含:FileInputStream - 文件字节输入流,FileOutputStream - 文件字节输出流
      2. 字节流中默认情况下,没有缓冲区
    7. 转换流
      1. OutputStreamWriter - 转换输出流。将字节输出流转化为字符输出流,将数据写出
      2. InputStreamReader - 转换输入流。将字节输入流转化为字符输入流,来读取数据
    8. 打印流:分为字符流PrintWriter和字节流PrintStream。打印流只有输出流没有输入流 - 打印流中,提供了便捷打印各个对象的方式
    9. 系统流:系统提供的用于传输数据的流 - 系统流都是字节流
    10. 系统流

      名称

      解释

      System.in

      标准输入流

      从控制台获取数据

      System.out

      标准输出流

      将数据打印到控制台

      System.err

      标准错误流

      打印异常信息

    11. 合并流:将多个字节流的内容合并输出到一个文件中
    12. 字符串流
      1. StringReader:从内存中来读取字符串
      2. StringWriter:构建一个字符串写入内存

其他

一、RandomAccessFile

  1. RandomAccessFile可以对文件进行读或写 - RandomAccessFile在操作文件的时候,将文件看作是一个大型的字节数组
  2. RandomAccessFile在使用的时候需要指定模式:r、rw、rws和rwd

二、JDK1.5的特性

  1. JDK1.5提供了大量的新的功能:自动封箱拆箱、增强for循环、可变参数、泛型、静态导入、枚举、内省、代理
  2. 静态导入:JDK1.5所提供的特性之一
    1. 格式:import static 包名.类名.静态方法名;
    2. 如果需要使用某一个类中多个静态方法,此时静态导入就需要有多个导包语句
    3. 静态导入会降低代码的可读性
  3. 枚举:JDK1.5提供的特性之一
    1. 适用用于取值固定且可以一一列举的场景,例如季节、星期、月份、等级、单位等
    2. 在Java中,所有的枚举的公共父类java.lang.Enum
    3. 在枚举类中,构造函数默认私有并且只能私有
    4. 枚举类中,可以定义方法和属性,但是枚举类不能被继承的

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值