黑马程序员_IO流_FileReader类和FileWriter类

------- android培训java培训、期待与您交流! ----------

FileReader类和FileWriter类以系统默认的字符编码方式,在内存和硬盘这两个设备之间,进行字符数据的输入和输出。每次调用read方法进行读操作,可以读取一个字符,或者读入一个字符数组。每次调用write方法进行写操作,可以写一个字符,一个字符数组,或者是一个String字符串。


下面通过一个练习来复习这两个类,以及IO异常处理:

练习:把D盘下的文本文件test.txt拷贝一个副本,同样保存在D盘下,以test_copy.txt命名


import java.io.*;

public class Copy {

	public static void main(String[] args) {
		
		FileReader fr = null;
		FileWriter fw = null;
		try {
			//创建文件输入字符流
			fr = new FileReader("d:\\test.txt");
			//创建文件输出字符流
			fw = new FileWriter("d:\\test_copy.txt");
			//创建缓冲区
			char[] buf = new char[1024];
			int len = 0;
			while((len = fr.read(buf)) != -1) {
				fw.write(buf, 0, len);
			}
			
			fw.flush();
			
		} catch(FileNotFoundException e) {
			System.out.println("要复制的源文件不存在");
		} catch(IOException e) {
			System.out.println("复制文件失败");
		} finally {
			if(fr != null)
				try {
					fr.close();
				} catch(IOException e) {
					System.out.println("fr关闭失败");
				}
			if(fw != null)
				try {
					fw.close();
				} catch(IOException e) {
					System.out.println("fw关闭失败");
				}
		}
	}

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值