由于字节流不能很好地操作Unicode字符,例如一个汉字在文件中占用连个字节,如果使用字节流,读取不当会出现乱码现象

Reader:用于读取字符流的抽象类,其部分方法如下

FileRead:是用于读取字符流,是Reader的子类,其构造方法如下

这里演示读取a.txt文件

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;public class Main {public static void main(String[] args) {try {Reader r = new FileReader("C:\\Users\\Administrator\\Desktop\\a.txt");int n;char[] chars = new char[3];while ((n = r.read(chars)) != -1) {String s = new String(chars,0,n);System.out.println(s);}r.close();} catch (IOException e) {e.printStackTrace();}}
}

 Writer:用于写入字符流的抽象类,write方法将数据首先写入到缓冲区,每当缓冲区溢出时,缓冲区的内容将被自动写入到目的地,如果关闭流,缓冲区的内容会立即写入到目的地。流调用flush()方法可以里立即冲洗当前的缓冲区,即将缓冲区的内容写到目的地,其部分方法如下

FileWriter:是用于写入字符流,是Writer的子类,其构造方法如下

这里演示读取a.txt文件并写入到b.txt文件

import java.io.*;public class Main {public static void main(String[] args) {try {Reader r = new FileReader("C:\\Users\\Administrator\\Desktop\\a.txt");Writer w = new FileWriter("C:\\Users\\Administrator\\Desktop\\b.txt");int n;char[] chars = new char[3];while ((n = r.read(chars)) != -1) {w.write(chars,0,n);}r.close();w.flush();w.close();} catch (IOException e) {e.printStackTrace();}}
}

Java中字符输入输出流相关推荐

  1. java中标准输入输出流

    原文地址:https://www.cnblogs.com/lol-ashe/p/6290522.html import java.io.BufferedReader; import java.io.B ...

  2. java字节输入与字符输入_Java中的字节输入出流和字符输入输出流

    Java中的字节输入出流和字符输入输出流 下面哪个流类属于面向字符的输入流( ) A BufferedWriter B FileInputStream C ObjectInputStream D In ...

  3. Java中的字节输入出流和字符输入输出流

    Java中的字节输入出流和字符输入输出流 下面哪个流类属于面向字符的输入流( ) A BufferedWriter  B FileInputStream  C ObjectInputStream  D ...

  4. java io字符输出流_Java字符输入输出流

    Java字符输入输出流 InputStreamReader可以把字节流,以指定的编码转换为字符流. OutputStreamWriter可以把字符流以指定的编码转换为字节流. 这两个类采用了适配器设计 ...

  5. Java I/O流——面向字符输入/输出流(超详细)

    目录 前言 字符编码 面向字符输入/输出流类 转换流 转换输入流(InputStreamReader)类 转换输入流(InputStreamReader)类实例 转换输出流(OutputStreamW ...

  6. java io字符输出流_灵魂一击!详解Java中的IO输入输出流

    什么是流?流表示任何有能力产生数据的数据源对象或者是有能力接收数据的接收端对象,它屏蔽了实际的I/O设备中处理数据的细节. IO流是实现输入输出的基础,它可以很方便地实现数据的输入输出操作,即读写操作 ...

  7. JAVA— 字符输入输出流练习

    1.向D盘根目录的word.txt文件中写入古诗<春晓>的全文 注意:如果要输入的字节较多的话,建议使用字符输入输出流,(1个字符=2x字节) import java.io.*;publi ...

  8. java中基本字节输出流类是_java中基本输入输出流的解释

    网络程序的很大一部分是简单的输入输出,即从一个系统向另一个系统移动字节.字节就是字节,在很大程度上,读服务器发送的数据与读取文件没什么不同:向客户传送数据与写入一个文件也没有什么区别. Java中输入 ...

  9. java的输出流包括_【转】输入/输出流 - 深入理解Java中的流 (Stream)

    基于流的数据读写,太抽象了,什么叫基于流,什么是流?Hadoop是Java语言写的,所以想理解好Hadoop的Streaming Data Access,还得从Java流机制入手.流机制也是JAVA及 ...

最新文章

  1. Selenium 爬虫时遇到的问题 Selenium message:session not created
  2. linux批量执行命令脚本,2.3-命令批量执行脚本
  3. (持续更新)webstorm快捷键及术语翻译
  4. 复制assert目录文件到私有目录_每天学点之CentOS文件/目录的权限
  5. OpenCV的Mat和Halcon的HObject类型互相转换
  6. Garden Planner中使用3D视图的技巧
  7. 英特尔曾遭“经验老道”的黑客攻击
  8. jQuery 滚动条插件nicescroll 使用方法、常见配置和事件回调使用说明
  9. java碰碰球历险记下载_幼儿园玩球教案碰碰球.doc
  10. 计算机网络技术摘要,计算机网络论文摘要
  11. 超全——一般照片、图片的尺寸、大小、像素
  12. Python - 如何用turtle库画一个微笑表情包
  13. 一行代码卖出570美元, 天价代码的内幕
  14. MySQL --- 函数大全 7
  15. 绑定异常 Invalid bound statement (not found): com.fwind.blog.dao.mapper.TagMapper
  16. 3.1 Xilinx系列产品介绍
  17. 3808: Neerc2012 Labyrinth of the Minotaur
  18. SAP 发货成本中心
  19. C4D 画劈裂碳纳米管
  20. vue上传图片加水印;js上传图片添加水印;vue给图片添加水印;canvas图片添加水印;canvas画布导出图片

热门文章

  1. 多个C文件共用一些变量
  2. 【讨论】不得不重视的问题:信息太多!信息太杂!
  3. 转载 WebService 的CXF框架 WS方式Spring开发
  4. [算法]两个栈实现一个队列
  5. .Net Core 学习笔记1——包、元包、框架
  6. oracle数据库主主复制
  7. 软件工程概论第十三周学习进度
  8. mysql练习题练习
  9. Excel操作之 导出生成多个sheet页面
  10. C++指针和引用的区别