FileWriter和FileReader是用来实现将字符读写到文件的IO类。

1.FileWriter

  是用来方便的将字符数据写入文件的类,这个类的构造函数假设默认的字符编码方式和缓冲区大小的可被接受的,如果要改变指定编码和缓冲区大小可以用FileOutputStream来构造一个OutputStreamWriter来实现。
  当文件没有找到时,一般是可以自动创建文件,但这也和平台有关,有的平台不允许创建文件。FileWriter是用来写字符流的,如果要写字节流数据,请使用FileOutputStream。主要的构造函数有:
FileWriter(File file)
用File对象来构造FileWriter,写数据时,从文件开头开始写起,会覆盖以前的数据

FileWriter(File file, boolean append)
还是用File对象构造,如果第二个参数为true的话,表示以追加的方式写数据,从文件尾部开始写起

FileWriter(FileDescriptor fd)
用文件描述符来构造FileWriter

FileWriter(FileDescriptor fd, boolean append)
用文件描述符来构造,第二个参数为true的话,表示以追加的形式写入数据

FileWriter(String fileName)
用文件的路径名来构造FileWriter

FileWriter(String fileName,boolean append)
用文件路径名来构造FileWriter,第二个参数为true的话,表示以追加的形式写入文件

大部分方法集成于Writer,请点击这里查看;其他主要方法有:
String getEncoding()
查看编码方式,返回时编码范式

void write(char[] cbuf, int off, int len)
将字符数组的一部分写入到流中。将cbuf[off],cbuf[off+1],…,cbuf[off+len-1]部分字符
写入到流中,但能不能写len个字符取决于cbuf中是否有那么多

2.FileReader

  用来方便的从文件中读出字符的类,默认编码和默认缓冲区大小假设是可以接受的。如果要改变默认编码和默认缓冲区大小可以用FileInputStream来构造InputStreamReader来实现。FileReader意味着是用来读字符的流,要实现读取字节流,请考虑使用FileInputStream。
构造函数有:
FileReader(File file)
用File对象来构造FileReader

FileReader(FileDescriptor fd)
用文件描述符构造FileReader

FileReader(String fileName)
用文件的路径名来构造FileReader

主要的函数大多集成于Reader类,请点击这里查看。其他主要的函数有:
public String getEncoding()
返回这个流使用的编码方式

3.例子

  实现向文件中写入字符串,写入中文,写入数字等。注意Reader和Writer是用来的字符进行写入的,如果直接将int型数据作为参数的话,是不会写入数字的,而是现将数字按照ascll码表转换为相应的字符,然后再写入。要想实现数字和中文的写入,必须要用String为参数的Write。

FileWriter写入例子:

import java.io.FileWriter;
import java.io.IOException;public class FileTest {public static void main(String[] args) throws IOException{String filePath = "G:\\test2.txt";FileWriter fw = new FileWriter(filePath);String str="sdndanudn中华人民共和国主席,daduca1266d8523189588";int type = 103658;char ch = 'A';fw.write(str);fw.write('\n');fw.write(type+"");                     //若直接用type作为参数,写入的是type按ascll码对应的字符fw.write('\n');                        //换行符也可以直接写入fw.write(ch);                          //字符可以直接写入fw.flush();fw.close();}
}

FileReader例子代码:

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;public class FileTest {public static void main(String[] args) throws IOException{String filePath = "G:\\test2.txt";                             //文件路径FileReader fd = new FileReader(filePath);                      //构造FileReader     char[] chs = new char[1024];      while(fd.read(chs) != -1){                                     //每次读1024个字符System.out.print(chs);}}
}

运行结果:
写入文件

文件读出

Java 中的 FileWriter和FileReader相关推荐

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

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

  2. Java中字符流(FileReader(read、close)、FileWriter(write、close)、字符(输入、输出)流原理解析)

    1.创建对象: 2.读取数据 3.释放资源(关流) 如何使用重载的read()方法呢? FileWriter: 在前面我们指导,字节输出流和字符输出流的本质区别是,字节输出流一次只能操作一个字节,如果 ...

  3. 【Java网络编程与IO流】Java中IO流分为几种?字符流、字节流、缓冲流、输入流、输出流、节点流、处理流

    Java网络编程与IO流目录: [Java网络编程与IO流]Java中IO流分为几种?字符流.字节流.缓冲流.输入流.输出流.节点流.处理流 [Java网络编程与IO流]计算机网络常见面试题高频核心考 ...

  4. java 写文件filewriter_使用FileReader和FileWriter读取写入文件内容

    1.Java的輸入与輸出 import java.io.DataInputStream; import java.io.IOException; public class InputAndOutput ...

  5. java中filereader读取文件_FileReader读取文件

    前言:FileReader是一种异步文件读取机制,结合input:file可以很方便的读取本地文件. input:file 在介绍FileReader之前,先简单介绍input的file类型. inp ...

  6. java中的各种流(老师的有道云笔记)

    内存操作流-字节 之前的文件操作流是以文件的输入输出为主的,当输出的位置变成了内存,那么就称为内存操作流.此时得使用内存流完成内存的输入和输出操作. 如果程序运行过程中要产生一些临时文件,可采用虚拟文 ...

  7. java中的IO操作总结(一)

    转载:http://www.cnblogs.com/nerxious/archive/2012/12/15/2818848.html    所谓IO,也就是Input与Output的缩写.在java中 ...

  8. java中的常用的文件流_Java 基础(四)| IO 流之使用文件流的正确姿势

    image.png 一.什么是 IO 流? 想象一个场景:我们在电脑上编辑文件,可以保存到硬盘上,也可以拷贝到 U 盘中.那这个看似简单的过程,背后其实是数据的传输. 数据的传输,也就是数据的流动.既 ...

  9. java 中常用方法_java_中常用的方法总结

    8月1日 练习: 合理覆盖Cat数据类型的,equals()方法 Cat.java 1 覆盖hashCode() 返回的整型值是唯一的 int    hashCode() 用法: 一般使用String ...

最新文章

  1. linux vim6,VIM6:linux终端下的英文字典--SDCV
  2. 写给初学前端工程师的一封信 (转于Kejun)
  3. Vue项目代码改进(三)—— Cookie、LocalStorage和SessionStorage的使用
  4. 运用xlib进行事件响应(X11 API)的小例子
  5. 【Python基础入门系列】第02天:Python 基础语法
  6. 一体化服务器和oracle集群,4种Oracle DBaaS部署模式,你在使用哪一种?
  7. UI设计实用素材|数据可视化UX套件
  8. 352计算机调剂,今年考研金融专业352分能调剂吗?有机会调剂到哪些学校?
  9. 如何做好招生讲座-----转载 (四)
  10. 「CodePlus 2017 11 月赛」大吉大利,晚上吃鸡!(dij+bitset)
  11. PTA7-31藏尾诗
  12. 考研数学复习建议与资料
  13. 在安卓手机上运用AidLux实现人流检测数据统计
  14. springboot 中动态切换数据源(多数据源应用设计)
  15. 物联网终端操作系统 TencentOS Tiny
  16. 用Python爬取网易新闻
  17. Linux Rsync 安装和配置
  18. pdf图片转换成word图片
  19. ddrelease64 黑苹果_[原]红帽 Red Hat Linux相关产品iso镜像下载【百度云】【更新7.7】...
  20. 红米Note5 Andriod 9 - BL解锁+Rec+Root (图文详解)

热门文章

  1. 目前python主要应用于电子电器类_MicroPython技术及应用定义
  2. 浏览器安装查看UE图的插件(Axure RP)
  3. android 4.4存储,Android 4.4只需512MB内存?别高兴太早
  4. 【Markdown语法高级】 让你的博客更精彩(三:常用图标模板)
  5. warframe怒焚者结合目标_Warframe中文维基:403
  6. eclipse更改代码后reload,不用重启服务器
  7. matplotlib 绘图
  8. 字符的表示方法:点阵字库和矢量字库
  9. 安德鲁•杰克逊政府的金融政策
  10. iOS 音频-audioUnit 总结