Hashtable和HashMap
- Hashtable是重量级的HashMap【线程安全】
- Hashtable key和value都是不为null的
IO输入输出流
根据流向进行分类?输入流、输出流
根据传输单位进行分类?字节流、字符流
- FieInputStream(字节输入流)读
- FieOutputStream(字节输出流)
- 字节流拷贝文件
字符输入流FileReader
每次读取的是一个字符
字符输出流FileWriter
用字符方式将数据输出到磁盘
字符缓冲流
- BufferedReader(是对Reader的封装)
- BufferedWriter(是对Writer的封装)
BufferedWriter和FileWriter的区别
- BufferedWriter(内部会使用缓存)是对FileWriter的封装
- 使用BufferedWriter不会频繁调用,编码转换器,所以效率会更高
- BufferesWriter提供了好用的方法:例如
newLine() //换行:该方法处理了平台换行符的兼容性:Windows换行是/n, 但是Linux不是
【案例】网络上下载
- 创建URL
- 打开连接openConnection
- 关闭连接disconnect
转换流(字节流转成字符流)
- InputStreamReader(将字节输入流转成字符输入流)
字节输入流--转换流--字符输入流
- OutStreamWriter(将字节输出流转成字符串输出流)
字节输出流--转换流--字符输出流
Properties(配置类)
特点:
- 是HashTable的子类
- Key-value存储结构
- 功能时对HashTable的扩展
作用:
- 读取配置文件其实就是properties文件
- 避免硬编码(避免将软件的配置信息写死在Java代码中,修改麻烦)
步骤:
- 新建xx.properties文件(新建名字为config的资源文件夹)
- 往里面添加数据(key=value)
- 通过IO读取该配置文件中的内容
标准输入输出流
- 标准输出(将数据再控制台打印【System.out】)
- 标准输入(获取键盘输入的数据【System.in】)
线程
(串行、并行、并发、进程、线程)
- 如何创建线程?
- 继承Thread
- 实现Runnable接口



