1:字符流(掌握)
(1)字节流操作中文数据不是特别的方便,所以就出现了转换流。
转换流的作用就是把字节流转换字符流来使用。
(2)转换流其实是一个字符流
字符流 = 字节流 + 编码表
(3)编码表
A:就是由字符和对应的数值组成的一张表
B:常见的编码表
ASCII
ISO-8859-1
GB2312
GBK
GB18030
UTF-8
C:字符串中的编码问题
编码
String -- byte[]
解码
byte[] -- String
(4)IO流中的编码问题
A:OutputStreamWriter
OutputStreamWriter(OutputStream os):默认编码,GBK
OutputStreamWriter(OutputStream os,String charsetName):指定编码。
B:InputStreamReader
InputStreamReader(InputStream is):默认编码,GBK
InputStreamReader(InputStream is,String charsetName):指定编码
C:编码问题其实很简单
编码只要一致即可
(5)字符流
Reader
|--InputStreamReader
|--FileReader
|--BufferedReader
Writer
|--OutputStreamWriter
|--FileWriter
|--BufferedWriter
(6)复制文本文件(5种方式) 2:IO流小结(掌握)
IO流
|--字节流
|--字节输入流
InputStream
int read():一次读取一个字节
int read(byte[] bys):一次读取一个字节数组 |--FileInputStream
|--BufferedInputStream
|--字节输出流
OutputStream
void write(int by):一次写一个字节
void write(byte[] bys,int index,int len):一次写一个字节数组的一部分 |--FileOutputStream
|--BufferedOutputStream
|--字符流
|--字符输入流
Reader
int read():一次读取一个字符
int read(char[] chs):一次读取一个字符数组 |--InputStreamReader
|--FileReader
|--BufferedReader
String readLine():一次读取一个字符串
|--字符输出流
Writer
void write(int ch):一次写一个字符
void write(char[] chs,int index,int len):一次写一个字符数组的一部分 |--OutputStreamWriter
|--FileWriter
|--BufferedWriter
void newLine():写一个换行符 void write(String line):一次写一个字符串 3:案例(理解 练习一遍)
A:复制文本文件 5种方式(掌握)
B:复制图片(二进制流数据) 4种方式(掌握)
C:把集合中的数据存储到文本文件
D:把文本文件中的数据读取到集合并遍历集合
E:复制单级文件夹
F:复制单级文件夹中指定的文件并修改名称
回顾一下批量修改名称
G:复制多级文件夹
H:键盘录入学生信息按照总分从高到低存储到文本文件
I:把某个文件中的字符串排序后输出到另一个文本文件中
J:用Reader模拟BufferedReader的特有功能
K:模拟LineNumberReader的特有功能

最新文章

  1. 写自己的socket框架(二)
  2. Hadoop学习
  3. 今天在学习NTP时发现了2个网站
  4. Python之路 day3 高阶函数
  5. PHP程序z中xdebug工具简要使用方法
  6. 解决SSIS中的脚本任务无法调试的问题
  7. 64 位win 7或windows 8下的visual studio不能连接Oracle数据库调试网站的问题
  8. cvCreateImage函数说明(转载)
  9. XUTils框架的学习(三)
  10. Android 官方文档:(二)应用清单 —— 2.26 <uses-permission>标签
  11. fragment Trying to instantiate a class com.example.testhuanxindemo.MyFragment that is not a Fragmen
  12. hdu 1429 胜利大逃亡(延续)(BFS+比特压缩)
  13. C#里面Auotpostback回刷时候,textbox里面的password怎么保存
  14. Gulp构建
  15. phantomjs 开发爬虫框架
  16. SpringBoot加Poi仿照EasyPoi实现Excel导出
  17. NLog类库使用探索——编程配置
  18. PAT 1041 考试座位号
  19. Codeforces 833A The Meaningless Game - 数论 - 牛顿迭代法 - 二分法
  20. adb push和adb install区别

热门文章

  1. Http报头中不能添加中文字符
  2. 使用 typescript ,提升 vue 项目的开发体验(1)
  3. 四、命令行模式和Node交互模式
  4. 微服务架构下分布式事务解决方案——阿里云GTS
  5. Python——变量的引用和函数的参数和返回值的传递方式
  6. Python3异常处理
  7. 极限编程(xp),iso国际标准化组织
  8. css flex 使内容 水平居中 的方法...
  9. Django Cannot assign "A1": "B1" must be a "C1" instance. 错误信息
  10. selenium模块的而简单使用