1.字符流出现的原因
1.1 字符流出现的原因及编码表概述
- 字符流出现的原因:由于字节流操作中文不是特别方便,所以,java就提供了字符流。
- 字符流: 字符流 = 字节流 + 编码表
2.String中的编解码问题
2.1 String类中的编码和解码问题
- String(byte[] bytes, String charsetName):通过指定的字符集解码字节数组
- byte[] getBytes(String charsetName):使用指定的字符集合把字符串编码为字节数组
- 编码:把看得懂的变成看不懂的: String – byte[]
- 解码:把看不懂的变成看得懂的: byte[] – String
3.转换流[掌握]
3.1 转换流OutputStreamWriter的使用
1 | /** |
3.2 转换流InputStreamReader的使用
1 | public class InputStreamReaderDemo { |
3.3 字符流的5种写数据的方式
1 | public void write(int c) |
3.4 字符流的2种读数据的方式
1 | public int read() |
3.5 高效流FileWriter和FileReader
3.6 字符缓冲流的基本使用
1 | /** |
3.7 字符缓冲流的特殊功能
1 | BufferedWriter: public void newLine():根据系统来决定换行符 |
4.IO流的练习题
4.1 字符流复制文本文件
1 | public class CopyFileDemo { |
4.2 FileWriter和FileReader复制文本文件
1 | public class CopyFileDemo { |
4.3 字符缓冲流的特殊功能复制文本文件
1 | public class CopyFileDemo { |
4.4 把集合中的数据存储到文本文件
1 | public static void main(String[] args) throws IOException { |
4.5 把文本文件中的数据存储到集合中
1 | public static void main(String[] args) throws IOException { |
4.6 随机获取文本文件中的姓名
1 | public static void main(String[] args) throws IOException { |
4.7 复制单级文件夹
1 | public static void main(String[] args) throws IOException { |
4.8 复制指定目录下指定后缀名的文件并修改名称
1 | public static void main(String[] args) throws IOException { |
4.7和4.8工具类
1 | public class IOUtils { |
4.9 键盘录入学生信息按照总分排序并写入文本文件
1 | public static void main(String[] args) throws IOException { |
5.IO流大总结【图是摘自网络,感觉很棒】
5.1 按操作方式分类结构图
- 关于IO流总结如下图所示
5.2 按操作对象分类结构图
- 关于IO流总结如下图所示