字符流=字节流+编码表

Reader(abstract) 所有字符输入流的超类
Writer(abstract) 所有字符输出流的超类
通过转换流 传入字节流+编码表 可以得到一个字符串

转换输出流:

  1. OutputStreamWriter<br /> 把字节输出流 转换成 字符输出流<br /> OutputStreamWriter(OutputStream out)<br /> 创建一个使用默认字符编码的字符输出流对象
  2. OutputStreamWriter(OutputStream out, String charsetName)<br /> 创建一个使用指定字符集的字符输出流对象

flush方法 刷新缓冲区

转换字符输出流的方法

   1.void write(int ch)    一次输出一个字符![image.png](https://cdn.nlark.com/yuque/0/2022/png/28889470/1655314368478-73be9539-a198-4709-b0f5-86e8ffe4563d.png#clientId=u1d5eec59-2e26-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=127&id=u958b9920&margin=%5Bobject%20Object%5D&name=image.png&originHeight=159&originWidth=976&originalType=binary&ratio=1&rotation=0&showTitle=false&size=18144&status=done&style=none&taskId=udf0f668a-b4c9-4517-b8e7-7c19137e0c5&title=&width=780.8)<br />       2. void write(String str)   一次输出一个字符串![image.png](https://cdn.nlark.com/yuque/0/2022/png/28889470/1655314287568-f86d76c7-3480-4a69-9653-0450065c7fd2.png#clientId=u1d5eec59-2e26-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=135&id=u2cea9ba3&margin=%5Bobject%20Object%5D&name=image.png&originHeight=169&originWidth=984&originalType=binary&ratio=1&rotation=0&showTitle=false&size=18416&status=done&style=none&taskId=u6730a2c6-2f88-4468-b369-b313e1e8fb1&title=&width=787.2)<br />        3.void write(String str, int start , int len)<br />        一次输出一个字符串的一部分 第三个参数表示输出的字符串个数<br />            例如:len表示len个字符![image.png](https://cdn.nlark.com/yuque/0/2022/png/28889470/1655314544966-89c80f22-8407-469d-90e6-0179ff6fffcf.png#clientId=u1d5eec59-2e26-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=179&id=u8d9eeebb&margin=%5Bobject%20Object%5D&name=image.png&originHeight=224&originWidth=994&originalType=binary&ratio=1&rotation=0&showTitle=false&size=27380&status=done&style=none&taskId=u6ac72525-27c1-4288-9b6c-c7282def123&title=&width=795.2)<br />        4.void write(char[] cs)<br />           一次输出一个字符数组![image.png](https://cdn.nlark.com/yuque/0/2022/png/28889470/1655314654362-a97fc7b0-c5a2-42d7-89f5-6f06d75077fd.png#clientId=u1d5eec59-2e26-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=214&id=uf5e4111f&margin=%5Bobject%20Object%5D&name=image.png&originHeight=267&originWidth=995&originalType=binary&ratio=1&rotation=0&showTitle=false&size=28612&status=done&style=none&taskId=u580459e1-76e5-470b-ae7f-ed749ae02b9&title=&width=796)<br />        5.void write(char[] bs,int start,int len)<br />            一次输出字符数组的一部分![image.png](https://cdn.nlark.com/yuque/0/2022/png/28889470/1655314825180-6ca8f1f4-9639-400f-9d70-64cf6cc727b1.png#clientId=u1d5eec59-2e26-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=205&id=u77fab4e2&margin=%5Bobject%20Object%5D&name=image.png&originHeight=256&originWidth=996&originalType=binary&ratio=1&rotation=0&showTitle=false&size=29876&status=done&style=none&taskId=u344dd2de-6968-43d0-9d26-6890e2cd3a7&title=&width=796.8)