分别继承于InputStreamReader   OutputStreamWriter

所以:

FileReader:new FileReader(“d:/back/string.txt”) =
                             new InputStreamReader(new FileInputStream(“d:/back/string.txt”));
         FileWriter:new FileWriter(“d:/back/string.txt”) =
                             new OutputStreamWriter(new FileOutputStream(“d:/back/string.txt”));

1.在使用FileReader 对象进行文件输入操作的时,JVM先读取本地文本文,然后将其格式转化为Unicode编码格式进行操作。

再用FileWriter进行文本文件输出时则把Unicode编码格式再转换成本地(本地主机上)的编码格式(如ASCII或者GBK等)。

2.FileReader与FileWriter两个类和FileInputStream和FileOutputStream两个类的操作方法基本相同,只不过前者基于字符,

后者基于字节(byte),若操作的文件不是文本文件,则建议使用FileInputStream和FileOutputStream进行文件的输入输出。

FileReader(File file) 
          在给定从中读取数据的 File 的情况下创建一个新FileReader
FileReader(FileDescriptor fd) 
          在给定从中读取数据的 FileDescriptor 的情况下创建一个新 FileReader
FileReader(String fileName) 
          在给定从中读取数据的文件名的情况下创建一个新FileReader
 void close() 
          关闭该流并释放与之关联的所有资源。
 String getEncoding() 
          返回此流使用的字符编码的名称。
 int read() 
          读取单个字符。返回值为读入字符对应的int值(0~65535)
 int read(char[] cbuf, int offset, int length) 
          将字符读入数组中的某一部分。返回值为读入字符个数
 boolean ready() 
          判断此流是否已经准备好用于读取。返回值为读入字符个数

FileWriter(File file) 
          根据给定的 File 对象构造一个 FileWriter 对象。

FileWriter(File file, boolean append) 
          根据给定的 File 对象构造一个 FileWriter 对象。

FileWriter(FileDescriptor fd) 
          构造与某个文件描述符相关联的 FileWriter 对象。

FileWriter(String fileName) 
          根据给定的文件名构造一个 FileWriter 对象。

FileWriter(String fileName, boolean append) 
          根据给定的文件名以及指示是否附加写入数据的 boolean 值来构造 FileWriter 对象。

 void

close() 
          关闭此流,但要先刷新它。

 void

flush() 
          刷新该流的缓冲。

 String

getEncoding() 
          返回此流使用的字符编码的名称。

 void

write(char[] cbuf, int off, int len) 
          写入字符数组的某一部分。

 void

write(int c) 
          写入单个字符。

 void

write(String str, int off, int len) 
          写入字符串的某一部分。

注:特别注意的是 FileWriter(File file)   file文件原来内容会被清空   如果只是续写  则用FileWriter(File file,Boolean true)

FileReader与FileWriter的更多相关文章

  1. FileReader和FileWriter

    FileReader和FileWriter 使用fileoutputstream类向文件写入数据与使用fileinputstream类从文件中将内容读取出来,存在不足,就是中文占两个字节, 搞不好就会 ...

  2. java中OutputStream字节流与字符流InputStreamReader 每一种基本IO流BufferedOutputStream,FileInputStream,FileOutputStream,BufferedInputStream,BufferedReader,BufferedWriter,FileInputStream,FileReader,FileWriter,InputStr

    BufferedOutputStream,FileInputStream,FileOutputStream,BufferedInputStream,BufferedReader,BufferedWri ...

  3. (19)IO流之字符流FileReader和FileWriter,缓冲字符流---缓冲输入字符流BufferedReader和缓冲输出字符流BufferedWriter

    字符流,读取的文件是字符的时候,有两个基类一个是Reader,一个是Writer这有点拟人的感觉,人直接看懂的是文字 字符流 字节流:读取的是文件中的二进制字节流并不会帮你转换成看的懂得字符 字符流: ...

  4. mac下CSV文件用FileReader、FileWriter读写乱码

      先说下windows的excel文件搬到mac下打开为什么会显示乱码.    在win下,excel采用GBK编码,1个汉字是存为2个字节,而mac下各种软件广泛默认使用UTF-8编码方式,如在e ...

  5. Java-IO之FileReader和FileWriter

    FileReader是用于读取字符流的类,它继承于InputStreamReader,要读取原始字节流,考虑使用FileInputStream:FileWriter是用于写入字符流的类,继承于Outp ...

  6. [十八]JavaIO之FileReader 和 FileWriter

    简介 FileReader FileWriter 都是提供操作文件的便捷类 这两个类的实现非常的简单 原理 回忆下之前的InputStreamReader和OutputStreamWriter Inp ...

  7. java io系列22之 FileReader和FileWriter

    FileReader 是用于读取字符流的类,它继承于InputStreamReader.要读取原始字节流,请考虑使用 FileInputStream.FileWriter 是用于写入字符流的类,它继承 ...

  8. J04-Java IO流总结四 《 FileReader和FileWriter 》

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

  9. 使用FileReader与FileWriter读写数据

    -------------siwuxie095                         工程名:TestFileRW 包名:com.siwuxie095.filerw 类名:FileReade ...

随机推荐

  1. JDBC-防止SQL注入问题

      String sql = "select * from user where name = '" + name + "' and password = '" ...

  2. LNMP一键安装包开启pathinfo和rewrite模式

    此教程适用于集成安装包lnmp,官网是https://lnmp.org/ 一. 开启pathinfo #注释 下面这一行 #include enable-php.conf #载入新的配置文件 incl ...

  3. BZOJ 4244: 邮戳拉力赛

    转化为括号序列DP 注意边界 #include<cstdio> #include<algorithm> #define rep(i,x,y) for (int i=x; i&l ...

  4. RQNOJ:PID30 / [stupid]愚蠢的矿工☆(树形背包)

    PID30 / [stupid]愚蠢的矿工☆ 背景 Stupid 家族得知在HYC家的后花园里的中央花坛处,向北走3步,向西走3步,再向北走3步,向东走3步,再向北走6步,向东走3步,向南走12步,再 ...

  5. day03_06 变量详解

    print ("hello world") print("alex") print("jinxing") print("3乘以4= ...

  6. matlab 画图进阶

    matlab 画图进阶 applications of matlab in engineering 图表类型的选择 first:advanced 2d plots special plots logl ...

  7. Leetcode 474.一和零

    一和零 在计算机界中,我们总是追求用有限的资源获取最大的收益. 现在,假设你分别支配着 m 个 0 和 n 个 1.另外,还有一个仅包含 0 和 1 字符串的数组. 你的任务是使用给定的 m 个 0  ...

  8. DS博客作业05——树

    1.本周学习总结 1.1思维导图 1.2学习体会 学习:相比于之前的数据结构,树多了很多性质,相应的也多了很多计算题,不得不说,专有名词也是颇多.觉得树最独特的地方就是它的兄弟.孩子结点,用以组成了它 ...

  9. Android内存使用——垃圾回收LOG,GC_CONCURRENT等的意义的说明

    在调试程序的时候,经常发现GC_CONCURRENT之类的打印.在网上搜了一下,感觉说法各式各样.最后,在Google的官方网站上发现了详细介绍. Every time a garbage colle ...

  10. oracle查询包含大小写的数据

    查询包含小写的所有数据: select oper_no from info_oper where regexp_like(oper_no,'[[:lower:]]'); select oper_no  ...