FileReader读取文件的三种方式
#日常练习
FileReader可以通过一次读取文件中一个字符,一次读取一个字符数组或使用缓冲区这三种方式来读取文件
备注:使用缓冲区的方式的内部实现是借助数组完成
package IO;import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;public class FileReaderDemo {public static void main(String[] args) {// 读取文件的方式一:逐个字符来读取文本文件FileReader fr = null;try {fr = new FileReader("Demo.txt");int ch = fr.read();while (ch != -1) {System.out.print((char) ch);ch = fr.read();}System.out.println();} catch (IOException e) {System.out.println("异常:" + e.toString());} finally {try {if (fr != null)fr.close();} catch (IOException e) {System.out.println("异常:" + e.toString());}}//读取文件方式二:使用数组来读取文本文件FileReader fr1 = null;try {fr1 = new FileReader("Demo.txt");char [] buf = new char[1024];int num = 0;while((num = fr1.read(buf))!=-1) {System.out.println(new String(buf,0,num));}}catch(IOException e) {System.out.println("异常:" + e.toString());}finally {try {if(fr1!=null)fr1.close();}catch(IOException e) {System.out.println("异常:" + e.toString());}}//方法三:用缓冲区读取文本文件//通过查源码得知方法三内部实现时是使用数组形式来缓冲字符数据的FileReader fr2 = null;BufferedReader bufr = null;try {fr2 = new FileReader("Demo.txt");bufr = new BufferedReader(fr2);String line = null;//BufferedReader提供了按行读取文本文件的方法readLine()//readLine()返回行有效数据,不包含换行符,未读取到数据返回nullwhile((line = bufr.readLine())!=null) {System.out.println(line); }}catch(IOException e) {System.out.println("异常:" + e.toString());}finally {try {if(bufr!=null)bufr.close();}catch(IOException e) {System.out.println("异常:" + e.toString());}}}}
2018/02/06晚修改:添加FileReader读取文件的第三种方式。
FileReader读取文件的三种方式相关推荐
- python读取文件的三种方式_python中读取文件的f.seek()方法
用于二进制文件中 F.seek方法 作用: 设置读写位置 F.seek(偏移量, whence=相对位置) 偏移量 大于0的数代表向文件末尾方向移动的字节数 小于0的数代表向文件头方向中移动的字节数 ...
- linux shell 读取文件的三种方式
假设存在文件user.csv 重定向标准输入,方式一: [root@wpuj3zui5est1ifj-0002 ~]# cat -n back.sh 1 #!/bin/bash2 #测试备份文件时候的 ...
- Python处理mat文件的三种方式小结
文章目录 处理mat文件的三种方式 scipy h5py mat73 python操作.mat文件 python读取.mat格式 mat转图片 处理mat文件的三种方式 读书的时候,处理数据都是采用m ...
- C++ 读取文件的四种方式
本文介绍C++ 读取文件的四种方式. 第一种方式: #include<iostream> #include<fstream> using namespace std;int m ...
- 81. read readline readlines 读取文件的三种方法
81. read readline readlines 读取文件的三种方法 文章目录 81. read readline readlines 读取文件的三种方法 1. 读取文件的三种方法 2. rea ...
- springboot读取配置文件的三种方式
项目中springboot读取配置文件的三种方式: 1.使用Environment 2.使用@Value 3.使用@ConfigurationProperties注解映射到bean中,定义一个User ...
- JVM 在遇到OOM(OutOfMemoryError)时生成Dump文件的三种方式
JVM 在遇到OOM(OutOfMemoryError)时生成Dump文件的三种方式,以及如何使用Eclips Memory Analyzer(MAT)插件进行堆内存分析. 方法一: jmap -du ...
- java oom dump_JVM 在遇到OOM(OutOfMemoryError)时生成Dump文件的三种方式
JVM 在遇到OOM(OutOfMemoryError)时生成Dump文件的三种方式,以及如何使用Eclips Memory Analyzer(MAT)插件进行堆内存分析. 方法一: jmap -du ...
- windows和虚拟机互传文件的三种方式
大家好,在平时学习工作的时候可能有这样的需求:要将windows中的文件传到虚拟机中或者将虚拟机的文件传到windows,大家都是怎么实现的呢? 今天给大家介绍下windows和虚拟机互传文件的三种方 ...
最新文章
- 肠里细菌“肚里蛔虫”:肠脑研究缘何越来越热
- 当互联网人决定躺平......
- SlidingDrawer的使用(一)
- mysql删除重复文章标题_MySQL中查询、删除重复记录的方法大全
- 计算机等级考试初级网络工程师,计算机等级网络工程师考试内容
- 关于Java中String类的intern()方法
- MFC模块的动态链接库DLL以及静态链接库LIB编译后的调用
- 2017年最流行的15个数据科学Python库
- Android(java)学习笔记10:同步中的死锁问题以及线程通信问题
- 哈维玛德学院 计算机,哈维玛德学院优势多多,令人神往!
- LeetCode 343. 整数拆分(动态规划)
- 如何在 iPhone、iPad、iPod touch 或 Mac 更新 HomePod?
- MAC中已有的虚拟环境在pycharm 中进行调用
- 电脑只能登录微信?但却打不开网页?不能上网怎么办?ip地址和DNS出问题了无法上网怎么办?
- AF(操作者框架)系列(1)-LabVIEW中的模块化应用概述
- 10个超强英语学习资源网站,学霸们都在用!
- Dedecms 前端RCE分析
- 浅谈 iOS14 Widget小组件
- 使用Python实现Linux命令的批量执行
- Python基本语法学习小结