讲解字符流的使用
字符输出流抽象类:
Writer
Reader

因为是抽抽象类我们不能直接使用,要使用他们的具体子类

OutputStreamWriter()
是从字符流到字节流的桥梁,就是把我们写的字符转化为字节进行存储,

他可以使用系统默认的编码格式对字符进行编码,构造方法
OutputStreamWriter(OutputStream outputStream);
注意这里的参数是OutputStream是一个抽象的字节输出流对象,我们要使用他的具体的字节输出流对象FileOutputStream

他也可以使用指定的编码格式对字符进行编码,构造方法
OutputStreamWriter(OutputStream outputStream , String chatsetName)
chatsetName 可以是GBK , UTF-8

InputStreamReader ()是从字节流到字符流的桥梁,就是把计算机存储的字节数据转化为文字显示出来
他可以使用系统默认的编码格式对字节数据进行解码,构造方法

InputStreamReader (InputStream inputStream);

他也可以使用指定的编码格式对字符进行解码,构造方法
InputStreamRreader(InputStream InputStream , String chatsetName)

代码

public static void main(String[] args) throws IOException {//创建字节输出流对象FileOutputStream fos = new FileOutputStream("C:\\Users\\Administrator\\IdeaProjects\\Day07\\a.txt");//创建字符输出流对象 使用默认的编码格式写数据//OutputStreamWriter osw = new OutputStreamWriter(fos);  //打开a.txt显示的是  中国//创建字符输出流对象 使用指定的编码格式写数据  默认是utf-8OutputStreamWriter osw = new OutputStreamWriter(fos,"GBK");//当我们打开a.txt文件的时候里面是乱码  , 因为我们把数据存储进去打开文件的时候 因为文件默认的是用utf-8//所以显示乱码,但是我们通过 gbk吧数据解析出来的时候还是可以看到  中国  的//写数据osw.write("中国");//释放资源osw.close();//使用字节输出流  因为上面我们使用的是gbk编码  这里我们要使用gbk解码FileInputStream fis = new FileInputStream("C:\\Users\\Administrator\\IdeaProjects\\Day07\\a.txt");//创建字节输入流对象指定解码格式是gbkInputStreamReader isr = new InputStreamReader(fis ,"gbk");//一个字符一个字符一个字符的读数据int data;while ((data = isr.read()) != -1){System.out.println((char) data);  //虽然此时a.txt文件里面是乱码但是还是解码出来了中国}}

java使用字符流进行写入和读取相关推荐

  1. java binaryreader_Java字符流与字节流区别与用法分析

    本文实例讲述了Java字符流与字节流区别与用法.分享给大家供大家参考,具体如下: 字节流与字符流主要的区别是他们的的处理方式 流分类: 1.Java的字节流 InputStream是所有字节输入流的祖 ...

  2. java中字符流 字节流_理解Java中字符流与字节流的区别

    1. 什么是流 Java中的流是对字节序列的抽象,我们可以想象有一个水管,只不过现在流动在水管中的不再是水,而是字节序列.和水流一样,Java中的流也具有一个"流动的方向",通常可 ...

  3. Java IO: 字符流的Buffered和Filter

    作者: Jakob Jenkov  译者: 李璟(jlee381344197@gmail.com) 本章节将简要介绍缓冲与过滤相关的reader和writer,主要涉及BufferedReader.B ...

  4. Java IO: 字符流的Piped和CharArray

    转载自   Java IO: 字符流的Piped和CharArray 作者: Jakob Jenkov 译者: 李璟(jlee381344197@gmail.com) 本章节将简要介绍管道与字符数组相 ...

  5. java中字符流和字节流的区别_java中字节流和字符流有哪些区别

    java中字节流和字符流的区别有:1.定义不同:2.结尾不同:3.处理方式不同:4.缓冲区不同:5.编码方式不同.字节流默认不使用缓冲区,而字符流使用缓冲区.字节流采用ASCII编码,字符流采用uni ...

  6. Java字符流Writer写入文件Reader读取文件

    写文件 public class WriteDemo {public static void main(String[] args) throws IOException {File file = n ...

  7. Java io字符流读入英文_Java IO 系列教程(四)-字符输入流(2)

    本文介绍字符输入流 在前面一节中,我们向一个文件中写入了一些字符,通过图片可以看出总共是6个中文字符和一个换行,总共是20个字节,可以推算出字符编码是utf-8,每个汉子占3三个字节.本文就用字符输入 ...

  8. java字节字符流实验报告_Java第09次实验(IO流)--实验报告

    0.字节流与二进制文件 我的代码 用DataOutputStream和FileOutputStream将Student对象写入二进制文件student.data package test; impor ...

  9. java io字符流_Java IO流字符流简介及基本使用

    Java IO流字符流简介及常用字符流的基本使用 字符流分为输入字符流(Writer)和输出字符流(Reader),这两种字符流及其子类字符流都有自己专门的功能.在编码中我们常用的输出字符流有File ...

最新文章

  1. 美团某程序员困惑:辅导组里妹子两三年,对方工作依然不行,想让她走又不舍得,怎么办?...
  2. TCP/IP详解--第十九章
  3. 【每周CV论文】初学深度学习图像风格化要读的文章
  4. 新版vue-cli模板下本地开发环境使用node服务器跨域
  5. 数据结构之trie树——First! G,电子字典,Type Printer,Nikitosh and xor
  6. 利用colab训练YOLOv5
  7. docker wsl2启动不了_在window上安装docker的方法
  8. 代理类 invoke方法没有返回值怎么办_何为动态代理?
  9. 【linux学习笔记五】帮助命令
  10. Win10,Office2016及以上图标异常解决方案
  11. 通达+oa+php+文件+乱,通达OA文件上传+文件包含get shell复现
  12. Android影音播放器需求分析,321影音全能影音播放器源码
  13. matlab自带滤波器,matlab自带滤波器函数
  14. face_recognition常用方法
  15. 毕业论文(设计)开题报告
  16. Softing过程自动化解决方案——助力数字化工业
  17. SAP ADM100 学习笔记
  18. 创建群晖共享文件夹,并进行电脑访问
  19. linux中默认文件666和目录777的权限关系
  20. C++实现方针顺时针旋转

热门文章

  1. 数据显示最近一次上涨由散户推动,我们刚进入牛市中期
  2. J2ME:手机归属地查询软件
  3. 计算机应用基ata,《计算机应用基》知识宝典.doc
  4. 神经网络的激活函数总结
  5. 数学模型4.8例1投资组合lingo,matlab
  6. 衬线字体和无衬线字体区别_字体,字体和字体系列有什么区别?
  7. moment的使用在vue项目中的使用 (亲测有效)
  8. mysql嵌套查询效率低,连接查询代替嵌套查询提高select效率
  9. html七彩文本,小程序解析富文本---文本内容(不含图片)
  10. 南京那边可以学计算机绘画,电脑画画软件有哪些?推荐几款可以教画画的app