FileReader 读数据

构造方法:

FileReader(String fileName) 传递要读取的文件名称

成员方法:

int read() 读取单个字符并返回

int read(char[] cbuf) 一次读取一个字符数组的数据,返回的是实际读取字符的个数.

输入流读文件的一般步骤:

1.创建输入流对象

2.调用输入流对象的对数据方法

3.释放资源

举例:打印文件中的内容到公屏上,一次读取一个字符

import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;public class DemoFileReader {public static void main(String[] args) throws IOException {// 创建输入流对象FileReader fr = new FileReader("a.txt");int ch;// 调用输入流方法读取数据的方法/** ch != -1 ch=fr.read(); 故:(ch = fr.read()) != -1*///while ((ch = fr.read()) != -1) {System.out.println((char) ch);}// 释放资源fr.close();}}

注意: a.txt必须存在,如果不存在会报系统找不到文件异常

2.上个范例是把文本内容读取出来打印到公屏上,如果是写入到其他文件,是不是就变成复制了呢

import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;public class DemoCopyFile {public static void main(String[] args) throws IOException {//创建输入流对象FileReader fr = new FileReader("a.txt");//创建输出流对象FileWriter fw = new FileWriter("Copya.txt");int ch;while ((ch = fr.read()) != -1) {fw.write(ch);}//释放资源fw.close();fr.close();}}

上面的例子是一次读写一个字符复制文本文件,效率比较低.接下来我们看看 成员方法中一次一个字符数组的情况.

public class DemoCopyFile {public static void main(String[] args) throws IOException {//创建输入流对象FileReader fr = new FileReader("a.txt");//调用输入流对象读取数据的方法char[] chs = new char[1024];int len;/*while一共做了三件事* 1.fr.read(chs)将数据读取到数组中* 2.len=fr.read(chs) 把读取到的有效个数复制给len* 3.len != -1  判断读取的有效个数是否为-1**/while((len = fr.read(chs))!= -1){System.out.println(new String(chs,0,len));}fr.close();}}

在这里什么时候用到字符流呢,一般情况下能够使用系统记事本打开并阅读里面的内容的,我们采用字符流,

本文出自 “xinsz08の平行时空” 博客,请务必保留此出处http://xinsz08.blog.51cto.com/10565212/1941490

IO-字符流-FileReader相关推荐

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

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

  2. JAVA语言基础-面向对象(IO:IO字符流、递归)

    2019独角兽企业重金招聘Python工程师标准>>> 21.01_IO流(字符流FileReader) 1.字符流是什么 字符流是可以直接读写字符的IO流 字符流读取字符, 就要先 ...

  3. 文件字符流(FileReader/FileWriter)

    文件字符流(FileReader/FileWriter)针对文件字符的操作,不同于文件字节流(FileInputStream/FileOutputStream).它是针对字符来进行操作的,因此他在处理 ...

  4. 字符流(FileReader,FileWriter,BufferedReader,BufferedWriter)

    字符流(FileReader,FileWriter,BufferedReader,BufferedWriter) 字符流只能对纯文本进行操作,所以输出不会乱码,字符流又分为字符输输入流与字符输出流,他 ...

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

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

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

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

  7. Java学习笔记29(IO字符流,转换流)

    字符流:只能操作文本文件,与字节流的区别是,字节流是按照字节来读取文件,而字符流是按照字符来读取,因此字符流的局限性为文本文件 字符输出流:Write类,使用时通过子类   每一次写入都要刷新 pac ...

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

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

  9. Java.IO 字符流读写文件

    点击上方 IT牧场 ,选择 置顶或者星标 技术干货每日送达! 一.序 上一篇我们谈了 java.IO 文件字节流读写操作(能懂系列Java.io文件字节流读写)大家应该都很熟悉了.但是中文和英文在字符 ...

  10. Java IO - 字符流

    需要读取的目标文件: // 目标文件 String pathName = "d:/z.txt"; File file = new File(pathName); 使用FileRea ...

最新文章

  1. mySQL:两表更新(用一个表更新另一个表)的SQL语句
  2. CV之FR:DIY脚本通过人脸图像得到人脸特征向量并输出多张人脸图片之两两图片之间的距离
  3. python3装饰器例子_python 装饰器(三):装饰器实例(一)
  4. BOM算最尾阶的损耗率 成品直接到料件
  5. idea 一键部署 cloudtoolkit
  6. C# 通过Exchange server 发送邮件
  7. Java ==和Equals方法的比较
  8. spring boot mybatis 整合_两大热门框架 Spring 与 Mybatis 如何整合呢?
  9. 在eclipse中如何搭建ssh框架
  10. python中for和while区别_Python的while 1跟while True到底有什么区别?
  11. Atitit 软件运行环境平台的变迁 attilax大总结 1.1.Native os时代 1.2.Vm时代 java net php 1.3.Script时代 js node。js 1.4.B
  12. 数学建模1:lingo软件求解优化模型
  13. JavaSE(二):Java语法(5)——Java数据类型转换
  14. 计算机快速看图教程,cad快速看图制图
  15. 08cms php5.4,08CMS - 内容管理CMS - PHP开源项目 - 开源吧
  16. 企业微信 网页授权登入demo
  17. 计算机思维 Computational Thinking(转载)
  18. 洛谷题单难题总结——数组
  19. c语言程序中小括号()和大括号{}的本质是什么,C程序中,用一对大括号{}括起来的多条语句称为复合语句,复合语句在语法上被认为是一条语句。...
  20. 强大的图片预览组件Viewer.js

热门文章

  1. 智能DNS服务器搭建
  2. 企业实操任务- 正式环境Redis服务启用密码认知
  3. Arduino UNO v3改进版 CH340G 驱动安装-windows10/11
  4. spyder一打开就卡了_保时捷透露了3款从未见过的概念车-一起来看看
  5. 另一个伊甸 第3部前篇 相关图表
  6. windows 夜神模拟器安卓7.0 安装 mitmproxy 证书
  7. linux git 2.5.1安装,Git for Windows 2.5.1发布,同步Git 2.5.1
  8. 优步外卖(Ubereat)接口数据结构处理【仅供参考】
  9. 综合布线命名规划原则
  10. 循环冗余校验(CRC)算法