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

1,FileWriter类(字符输出流类)

构造方法:FileWriter fw = new FileWriter(String fileName);//创建字符输出流类对象和已存在的文件相关联。文件不存在的话,并创建。

如:FileWriter fw = new FileWriter("C:\\demo.txt");

FileWriter fw = new FileWriter(String fileName,boolean append);//创建字符输出流类对象和已存在的文件相关联,并设置该该流对文件的操作是否为续写。

如:FileWriter fw = new FileWriter("C:\\demo.txt",ture); //表示在fw对文件再次写入时,会在该文件的结尾续写,并不会覆盖掉。

主要方法: void write(String str)   //写入字符串。当执行完此方法后,字符数据还并没有写入到目的文件中去。此时字符数据会保存在缓冲区中。

此时在使用刷新方法就可以使数据保存到目的文件中去。

viod flush()                //刷新该流中的缓冲。将缓冲区中的字符数据保存到目的文件中去。

viod close()               //关闭此流。在关闭前会先刷新此流的缓冲区。在关闭后,再写入或者刷新的话,会抛IOException异常。

package filewriter;import java.io.FileWriter;
import java.io.IOException;public class Filewriter {private static final String LINE_SEPARATOR = System.getProperty("line.separator");/*** * @param args* @throws IOException */public static void main(String[] args) throws IOException {/*** 创建一个可以往文件中写入字符数据的字符流输出流对象* 创建时必须明确文件的目的地* 如果文件不存在,这回自动创建。如果文件存在,则会覆盖。* 当路径错误时会抛异常* * 当在创建时加入true参数,回实现对文件的续写。*/FileWriter fw = new FileWriter("C:\\demo1.txt",false);/*** 调用该对象的write方法,向文件写入字符。* * 其实写入到了临时存储缓冲区中*/
//      fw.write("hello \r\nworld!");//windows中的换行为\r\n    unix下为\r。fw.write("aello"+LINE_SEPARATOR+"world!");fw.write("hahaha");/*** 进行刷新,将字符写到目的地中。*/
//      fw.flush();/*** 关闭流,关闭资源。在关闭前会调用flush方法 刷新缓冲区。关闭后在写的话,会抛IOException*/fw.close();}}

关于FileWriter的的异常处理。

package filewriter;import java.io.FileWriter;
import java.io.IOException;public class IOExceptionDemo {private static final String LINE_SEPARATOR = System.getProperty("line.separator");public static void main(String[] args) {FileWriter fw = null;try {fw = new FileWriter("k:\\Demo.txt", true);fw.write("hello" + LINE_SEPARATOR + "world!");} catch (Exception e) {System.out.println(e.toString());} finally {if (fw != null)try {fw.close();} catch (IOException e) {throw new RuntimeException("关闭失败!");}}}
}

2,FileReader类

1,构造方法

FileReader fr = new FileReader(String fileName);//使用带有指定文件的String参数的构造方法。创建该输入流对象。并关联源文件。

2,主要方法

int read(); // 读取单个字符。返回作为整数读取的字符,如果已达到流末尾,则返回 -1。

int read(char []cbuf);//将字符读入数组。返回读取的字符数。如果已经到达尾部,则返回-1。

void close();//关闭此流对象。释放与之关联的所有资源。

package Filereader;import java.io.FileReader;
import java.io.IOException;public class FileReaderDemo {public static void main(String[] args) throws IOException {/*** 创建读取字符数据的流对象。* 读取路径不正确时会抛 IOException* 用以个读取流对象关联一个已存在文件。*/FileReader fr = new FileReader("demo.txt");/*** 用Reader中的read方法读取字符。*//*int ch = fr.read();System.out.print((char)ch);int ch1 = fr.read();System.out.print((char)ch1);int ch2 = fr.read();System.out.print((char)ch2);*/int ch = 0;while((ch = fr.read()) != -1){System.out.print((char)ch);}fr.close();}
}

用FileReader  和 FileWriter 写的复制文本文件的小程序。

package IOtest;import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;public class TxtCopy {/*** 将C:\\的myHeart.txt copy 到 D:\\下* * 首先创建Reader读取数据数据的 读取流对象。* * @throws FileNotFoundException*/public static void main(String[] args) {FileReader fr = null;FileWriter fw = null;try {fr = new FileReader("C:\\my.txt");fw = new FileWriter("D:\\you.txt");//读一个字符,写一个字符方法
//          int ch = 0;
//
//          while ((ch = fr.read()) != -1) {
//              fw.write(ch);
//          }char []buf = new char[1024];int len = 0;//读一个数组大小,写一个数组大小方法。while((len = fr.read(buf)) != -1){fw.write(buf, 0, len);                }} catch (Exception e) {System.out.println(e.toString());} finally {if (fr != null)try {fr.close();} catch (Exception e2) {throw new RuntimeException("关闭失败!");}if (fw != null)try {fw.close();} catch (IOException e) {throw new RuntimeException("关闭失败!");}}}
}

java中的 FileWriter类 和 FileReader类的一些基本用法相关推荐

  1. java在dog中定义name变量,组合构造 冯跃峰 java中组合的应用(不相干的类共同完成一个功能)+构造器回顾...

    java中组合的应用(不相干的类共同完成一个功能)+构造器回顾:今天我们了解到java的组合.可以说java组合是非常的重要的.可以对类进行封装,将底层的内容封装起来.甚至于java的继承都没有其重要 ...

  2. Java中的Type接口和Class类区别和联系

    Java中的Type接口和Class类有什么区别 Type是Class的父接口. Type 是 Java 编程语言中所有类型的公共高级接口.它们包括原始类型.参数化类型.数组类型.类型变量和基本类型. ...

  3. java 中成员变量的名字和类的方法的名字可以一样.

    java 中成员变量的名字和类的方法的名字可以一样. public class fourone {public static void main(String[] args) {int first[] ...

  4. java 中操作字符串都有哪些类?它们之间有什么区别?

    java 中操作字符串都有哪些类?它们之间有什么区别? String.StringBuffer.StringBuilder String : final修饰,String类的方法都是返回new Str ...

  5. java filereader类_Java FileReader类

    FileReader类从InputStreamReader类继承而来.该类按字符读取流中数据.可以通过以下几种构造方法创建需要的对象. 在给定从中读取数据的 File 的情况下创建一个新 FileRe ...

  6. Java 中的 FileWriter和FileReader

    FileWriter和FileReader是用来实现将字符读写到文件的IO类. 1.FileWriter   是用来方便的将字符数据写入文件的类,这个类的构造函数假设默认的字符编码方式和缓冲区大小的可 ...

  7. java中如何把时间封装成类,java-如何在不使用任何不推荐使用的类的情况下将日期从一种格式转换为另一种格式的日期对象?...

    java-如何在不使用任何不推荐使用的类的情况下将日期从一种格式转换为另一种格式的日期对象? 我想将date1格式的日期转换为date2格式的日期对象. SimpleDateFormat simple ...

  8. Java中创建线程需要使用的类_如何通过使用Java中的匿名类创建线程?

    甲线程是可以同时与该程序的其他部分被执行的功能.所有Java程序都有至少一个称为主线程的线程,该线程由Java虚拟机(JVM)在程序启动时由主线程调用main()方法创建. 在Java中,我们可以通过 ...

  9. Java中使用Observer接口和Observable类实践Observer观察者模式

    在Java中通过Observable类和Observer接口实现了观察者模式.实现Observer接口的对象是观察者,继承Observable的对象是被观察者. 1. 实现观察者模式 实现观察者模式非 ...

最新文章

  1. java display html_css html布局之display属性_动力节点Java学院整理
  2. Java 使用线程池ThreadPool:newFixedThreadPool
  3. VSS2005下载地址
  4. mybatis学习2之ResultMap结果集映射
  5. 计算机控制试卷中南大学,期末试卷,需要的自取
  6. 电脑技巧:微软电脑管家测试版发布,赶快来体验一下吧!
  7. python 虚拟环境创建
  8. 嵌入式linux工程师 考试,嵌入式Linux工程师常见笔试题.doc
  9. 如何优化android内存,Android内存优化
  10. Python使用标准库itertools中count类求解数苹果问题
  11. elasticsearch-1.7.1 集群搭建
  12. TMS320C55x的寄存器
  13. C语言中判断素数的几种方法
  14. Linux中使用 if 、for、while等循环来写脚本
  15. 网站换服务器步骤,【大拿分享】六个步骤搞定更换网站服务器
  16. 区域生长算法原理及实现
  17. 简记_PSpice仿真软件学习笔记(一)
  18. 054 webshell介绍与文件上传漏洞
  19. c语言课程设计文献检索,文献检索课学习心得三篇(2)
  20. 安卓搭建http服务器——NanoHttpd

热门文章

  1. 五大react生命周期使用注意事项,绝对干货
  2. Windows下安装配置jdk
  3. vue2.x+springboot1.x+nginx服务器部署踩坑日记
  4. @getmapping注解的作用_@Transactional注解失效了?你遇到的是这6种场景吧!
  5. eclipse java不能编译_eclipse里.java可以编译但不能运行??
  6. 查看数据库大小或者表大小
  7. netty 支持多种通讯协议
  8. Apache中限制和允许特定IP访问
  9. 360要在A股上市 华泰联合证券已签订IPO辅导协议
  10. Android Canvas简单使用