io流之file文件类fileReader和FileWriter的读写操作


1.写文件。向硬盘中写入数据。创建一个fileWriter对象,该对象一被初始化就必须要明确被操作的文件,而且必须确认该目录下是否有同名文件,有将覆盖。

FileWrite fw =new FileWriter(" Demo.txt"); 创建文件后,调用write方法将字符串写入到流中。

fw.write("Hello World!");运行下打开目录下得Demo文件为空,并没有写入,write方法只是把字符串写入到流中,,刷新流对象中的缓冲中的数据。将数据刷到目的地。

fw.flush();最后是关闭流资源,但是再关闭之前要刷新一次内部的缓冲中的数据。

fw.close();

现在我们可以学会了在硬盘上创建文件,如果我们还想添加内容到文件中怎么操作呢?

我们调用FileWriter的另一个构造函数FileWriter(String fileName,boolean append)

根据给定文件名以及附加的写入数据的boolean值来构造FileWriter对象,append值为true时将数据写入文件末尾处。

2.读文件

首先创建一个读取流对象,和指定名称的文件相关联,要保证该文件是已经存在的,如果不存在,会发生异常FileNotFoundException。

FileReader fr=new  FileReader(Demo.txt);// 调用读取流对象的read方法,

int  ch=fr.read();    read()方法会一次读一个字符,而且会自动往下读。在读取单个字符是,在字符读到末尾时,会返回-1;抛出IOException异常发生i/o错误。

注意,只要涉及java程序和外部程序有i/o输入输出流,就一定会抛出异常。

read还有一种读取方法,就是通过字符数组进行读取。

首先定义一个字符数组,用于存储读取到的数组。返回值读到的字符个数。

FileReader fr=new  FileReader(Demo.txt);//

char[] buf= new cha[1024];

int  num =0;

while ((num=fr.read(buf))!=-1){

System.out.println(new String(bug,o,num));

}

最后做一道文本文件读取练习,读取一个java文件并打印在控制台上。

//读取一个java文件并打印在控制台上。

import java.io.*;

 public class  FileRead{

        public static void main(String[] args) throws IOException

        {

               FileReader fr=new  FileReader("CalendarDemo.java");

 

                       char[] buf= new char[1024];

 

                       int  num =0;

 

                       while ((num=fr.read(buf))!=-1){

 

                       System.out.println(new String(buf,0,num));

 

                       }

                       fr.close();

        }

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值