其他常用类
工具类
- 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