其他常用类

工具类

  • Arrays
    • 工具类,提供了对数组的常用操作
      • 将数组转成List集合
      • 对数组进行排序
      • 对数组进行二分查找
      • 将数组转为字符串显示形式
  • Collections
    • 工具类,提供了对集合的常用操作
    • 对集合进行查找
    • 取出集合中的最大值,最小值
    • 对List集合进行排序

包装类

  • JDK提供了对所有数据类型的包装类
    • byte >>> Byte
    • short >>> Short
    • int >>> Integer
    • long >>> Long
    • double >>> Double
    • float >>> Float
    • char >>> Character
    • boolean >>> Boolean
  • 包装类的常用方法
    • toString方法
    • parseInt方法:Integer.parseInt(String s)
    • valueOf方法:Double.valueOf(String s)

系统类

  • System类
    • 静态属性in为标准输入流,属于InputStream类型,read方法返回一个字节,默认指向键盘输入
    • 静态属性out为标准打印流,属于PrintStream类型,print方法打印字符,默认打印到屏幕
    • 可以用set方法修改属性in和out
    • System.exit()方法退出Java虚拟机
    • System.gc()垃圾回收,Java中的对象成为垃圾之后不会马上回收掉,如果想立即回收可以调用System.gc()
    • System.getProperties()方法获得系统属性
  • Runtime类
    • 表示系统运行时状态
    • exec方法执行命令

时间类

  • Date类
    • 使用new Date()创建时间对象代表当前系统时间
    • 需要使用DateFormat类来进行格式化,才能显示想符合习惯的格式
  • Calendar类
    • 使用该类对时间进行操作比较方便
    • 通过常量来表示时间的各种值,如一年中的某一天,一个月的某一天等
    • 将对应的常量作为形参来调用相应的get、add、set方法来操作对象
  • 练习
    • 设计一个方法,计算某年是否是闰年?
    • 设计一个方法可以计算工作时间,接收一个参数(工作日),方法打印出哪天完工。

IO(Input Output)

  • IO流概念
    • IO流用来处理设备之间的数据传输
    • Java对数据的操作是通过流的方式
    • Java用于操作流的类都在IO包中
    • 流按流向分为两种:输入流,输出流。
    • 流按操作类型分为两种:字节流与字符流。 字节流可以操作任何数据,字符流只能操作纯字符数据,比较方便。

IO流常用基类

  • 字节流的抽象父类:
    • InputStream ,OutputStream
  • 字符流的抽象父类:
    • Reader , Writer
  • 由这四个类派生出来的子类名称都是以其父类名作为子类名的后缀。
    • 如:InputStream的子类FileInputStream。
    • 如:Reader的子类FileReader。
      注意: InputStreamReader 是字符流, 可以从字节流中读取字符

IO程序书写

  • 使用前,导入IO包中的类
  • 使用时,进行IO异常处理
  • 使用后,释放资源

字符流读写文件

  • 读取文件
    • 定义字符流关联指定文件
    • FileReader reader = new FileReader("Test.txt");
    • 读取一个字符,返回int,该字符的码表值
      -int ch = reader.read();
  • 关闭流,释放资源
    • reader.close();
  • 写出文件
    • 定义字符输出流关联指定文件
    • FileWriter writer = new FileWriter("Test.txt");
  • 写出一个字符,接收int码表值
    • writer.write(97);
  • 关闭流,释放资源
    -writer.close();
  • 注意事项
  • 文件路径
    • 定义文件路径时Windows中的目录符号为“\”,但这个符号在Java中是特殊字符,需要转义。
    • 可以用“\”或“/”表示。
    • 读取文件
      -读取文件时必须保证文件存在,否则将抛出FileNotFoundException。
  • 写出文件
  • 写出时文件如不存在时程序会创建新文件,如文件已存在则会清空原文件内容重新写入。
  • 如需追加内容可调用FileWriter构造函数FileWriter(String fileName, boolean append),传入true之后则不会清空原有文件
  • 练习
  • 拷贝一个文件

字符流缓冲区读写

  • 自定义缓冲区读写
    • 为什么定义缓冲区
  • 由于单个字符读写需要频繁操作文件,所以效率非常低。
  • 我们可以定义缓冲区将要读取或写出的数据缓存,减少操作文件次数。
    • 缓冲区读取
      -先定义一个数组,然后调用FileReader读取一个数组的方法。
    • int read(char[] cbuf)
    • 缓冲区写出
  • 将要写出的数据存放在数组中,调用FileWriter方法,一次写出一个数组。
    • void write(char[] cbuf, int off, int len)
  • 内置缓冲区的BufferedReader和BufferedWriter
    • Java提供了带缓冲功能的Reader和Writer类:BufferedReader,BufferedWriter
    • 这两个类都是提供包装功能,需要提供其他流来使用,给其他流增加缓冲功能
    • 当我们调用BufferedReader读取数据时,程序会从文件中一次读取8192个字符用来缓冲
    • 当我们调用BufferedWriter写出数据时,程序会先将数据写出到缓冲数组,直到写满8192个才一次性刷出到文件.

文档:Java体系.note
链接:
http://note.youdao.com/noteshare?id=9832db7a3733e933fd2eac54aba7190f&sub=CCDEC06C7B034370A485EBD6438BF4BE

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *