/*

在java中对数据输入输出的操作陈作为流
我们对不同的文件进行操作,或者对操作文件进行输入和输出时所用的流都是不同的。
因此在java.io的包下存在很多流的类或者接口提供给我们对应的操作

流的原理;

输入流(input);将外部的文件通过流读取到内存中
输出流(output);将内存中的文件通过流输出到硬盘等储存设备中

分类

按照操作单位分为;字节流,字符流
按照流向不同分为;输入流,输出流
按照角色不同分为;节点流,处理流

io流体系;

FileReader与FileWriter
FileReader是针对字符型文件(后缀.txt)的流,根据定义的不同也可以称其为字符流,节点流,输入流
FileWriter是针对是针对字符型文件(后缀.txt)的流,根据定义的不同也可以称其为字符流,节点流,输出流

FileReader的使用

1,实例化一个File类用与操作的对象

2,实例化一个FileReader类并且将file对象作为参数传入它的构造器中。

3,用FileReader的方法将数据读入
FileReader读入数据的方法是read()方法
—>read()的空参构造器;返回读入的一个字符并继续往下读如果读到最后一个元素返回-1
—>read(char cbuf[])一次读入cbuf中字符个元素的个数如果到达文件末尾返回-1

4,关闭流 close();方法流不会自动关闭,必须手动关闭,不然会浪费资源

public class FileReaderAndFileWriter {public static void main(String[] args) {FileReader flr = null;try {File file = new File("hello.txt");flr = new FileReader(file);char[] cbuf = new char[2];int read = flr.read(cbuf);while (read != -1){for (int i = 0 ; i < read ; i++){System.out.print(cbuf[i]);}read = flr.read(cbuf);}} catch (IOException e) {e.printStackTrace();} finally {if(flr != null){//防止空指针try {flr.close();} catch (IOException e) {e.printStackTrace();}}}}
}

注;整个过程中文件会报错,而我们需要使用try-catch-finally来解决该异常,如果使用throws的话中途抛出异常之后不会去执行最后的close();方法
则该流不会关闭会浪费资源

FileWriter的使用;FileWriter其实使用步骤和FileReader是一样的

1,实例化一个File类

2,实例化一个FileWriter类并且将File的实例作为参数传入FileWriter的构造器中
—> new FileWriter(file,flase);默认情况是flase; 修改原有文件的内容改为添加的数据
—>new FileWriter(file,true); 在原有文件的基础上添加写入的数据

3,使用write方法写入数据到指定文件夹中
如果实例化的File类的file文件不存在会自动添加
public void write(char cbuf[]) ;一次写入cbuf指定个数的数据
public void write(char cbuf[], int off, int len);在传入的cbuf数组中从off开始写入,一次写入len个数据

4,关闭FileWriter流;colse();方法

例’

public class FileReaderAndFileWriter {public static void main(String[] args) {FileWriter flw = null;try {//写入的文件的文件夹名字File file = new File("hw.txt");flw = new FileWriter(file);//写入的内容flw.write("hello JAVA");} catch (IOException e) {e.printStackTrace();} finally {try {flw.close();} catch (IOException e) {e.printStackTrace();}}}
}

利用FileReader和FileWriter实现对文本文件的复制

public class FileReaderAndFileWriter {public static void main(String[] args){FileReader flr = null;FileWriter flw = null;try {//file是需要复制的文件,file1是要复制到的地方File file = new File("hello.txt");File file1 = new File("hw.txt");flr = new FileReader(file);flw = new FileWriter(file1);char[] cbuf = new char[5];int read = flr.read(cbuf);while (read != -1){//                for(int i = 0; i < cbuf.length; i++){//                    flw.write(cbuf, 0 , read);
//                }//如果要用write方法直接写入的话需要使用下面三个参数的方法//否则会打印重复flw.write(cbuf);hello worldworlflw.write(cbuf, 0 , read);read = flr.read(cbuf);}} catch (IOException e) {e.printStackTrace();} finally {if(flr != null){try {flr.close();} catch (IOException e) {e.printStackTrace();}}if(flw != null){try {flw.close();} catch (IOException e) {e.printStackTrace();}}}}
}

*/

java-FileReader和FileWriter的介绍相关推荐

  1. Java FileReader与FileWriter讲解

    FileReader与FileWriter讲解 Reader int read() 读取单个字符.作为整数读取的字符,范围在 0 到 65535 之间 (0x00-0xffff)(2个字节的Unico ...

  2. Java IO: FileReader和FileWriter

    转载自  Java IO: FileReader和FileWriter 作者: Jakob Jenkov 译者: 李璟(jlee381344197@gmail.com) 本章节将简要介绍FileRea ...

  3. java filereader 示例_J04-Java IO流总结四 《 FileReader和FileWriter 》

    FileReader和FileWriter的源码相对简单,下面通过分析它们的源码以更好地进行理解这两个流 1. FileReader FileReader实现了读取底层的字节数据并将其转换为字符数据的 ...

  4. java FileReader/FileWriter读写文件

    java FileReader/FileWriter读写字母和数字没问题,但读写汉字就乱码.记录下,后面找到解决方法再补上. public static void main(String[] args ...

  5. java中的 FileWriter类 和 FileReader类的一些基本用法

    java中的 FileWriter类 和 FileReader类的一些基本用法 1,FileWriter类(字符输出流类) 构造方法:FileWriter fw = new FileWriter(St ...

  6. Java基础巩固系列 FileReader和FileWriter(字符流)

    代码示例: public class TestFileReaderWriter {/** 使用FileReader FileWriter 可以实现文本文件的复制* 对于非文本文件(视频文件.音频文件. ...

  7. Java XML解析工具 dom4j介绍及使用实例

    Java XML解析工具 dom4j介绍及使用实例 dom4j介绍 dom4j的项目地址:http://sourceforge.net/projects/dom4j/?source=directory ...

  8. FileReader 和 FileWriter(Second)

    一.简介 本人大二计算机专业生,Java在b站大学的动力节点(对初学者非常友好)自学的,毕竟大学嘛,懂的都懂,不能依靠老师,还得自己来,在本章节内如中分享我自学IO流这章的的学习笔记,毕竟学习路上从不 ...

  9. FileReader与FileWriter

    FileReader与FileWriter分别继承Reader和Writer,以字符为单位广泛用于文件操作的节点流.FileReader类用于从文本文件读数据,每次读入一个字符或者一个字符数组;Fil ...

最新文章

  1. python3网络编程
  2. 自考感悟,话谈备忘录模式
  3. Activiti配置实例以及Spring集成配置
  4. 前端开发 表单控件高级 0303
  5. 沈阳大学生招聘2020计算机,2020沈阳市高校毕业生基层公共岗位服务计划人员招录600人...
  6. ROS学习笔记十二:使用roswtf
  7. 苹果手机录屏软件_4款手机录屏软件推荐,你觉得哪款更好用?
  8. 宣化上人:诸病从何来?
  9. Java实现多文件生成压缩包下载
  10. CIO40知识星球:越高级越自律
  11. 如何下载全球范围的谷歌卫星地图数据
  12. python游戏编程书_Python游戏编程快速上手 第4版 (斯维加特著) 中文pdf扫描版[41MB]...
  13. Android自定义控件-仿淘宝ios客户端天猫商品详情界面
  14. Kinect2.0 UI交互 InteractionManager脚本
  15. 计算机无法与打印机建立,电脑无法与打印机连接 计算机网考题目2(6)
  16. luogu4185 [USACO18JAN]MooTube Gold
  17. AngularJS标准Web业务流程开发框架-4.AngularJS四大模块之一:Controller
  18. 七周成为数据分析师01-数据分析思维
  19. 关于“卷积”的通俗解释
  20. 【box-shadow盒子内边阴影外阴影】

热门文章

  1. Pandas 根据一张DataFrame的两列数据对另一张DataFrame的多列值进行批量替换
  2. Linux中脚本实现倒计时【两种方法:算术法和显示法】
  3. 【综述】THP-1人急性单核白血病细胞最新研究进展
  4. 【产品细节一】指纹解锁
  5. python爬虫租房信息在地图上显示
  6. (一)vulhub专栏:FastJson1.2.24、1.2.27漏洞复现
  7. jsp mysql火车票预定系统_jsp784火车票毕业设计售票系统mysql
  8. 论文阅读:AAAI 2020 Relation Network for Person Re-identification 论文翻译
  9. 明白社群营销的本质,你才更好的操盘社区营销
  10. AAAI 2023| 旷视研究院入选论文亮点解读