java问题 编写 拷贝

7.编写一个程序,分别使用字节流和字符流拷贝一个文本文件:
使用FilelnputStream、FileOutputStream和FileReader、FileWriter分别进行拷贝。

 

public void test1() {
		FileReader fr = null;
		FileWriter fw = null;
		try {
			fr = new FileReader(new File("文件名"));
			fw = new FileWriter(new File("文件名"));
			char[] ch = new char[5];
			int len;
			while ((len = fr.read(ch)) != -1) {
				fw.write(ch, 0, len);
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				if (fr != null) {
					fr.close();
				}
				if (fw != null) {
					fw.close();
				}
			} catch (Exception e) {
				e.printStackTrace();
			}
		}

	}


public void test2() {
		FileInputStream fis = null;
		FileOutputStream fos = null;
		try {
			// 创建输入输出流对象
			fis = new FileInputStream(new File("文件名"));
			fos = new FileOutputStream(new File("文件名"));

			// 创建搬运工具
			byte datas[] = new byte[1024 * 8];
			// 创建长度
			int len = 0;
			// 循环读取数据
			while ((len = fis.read(datas)) != -1) {
				fos.write(datas, 0, len);
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				if (fis != null) {
					fis.close();
				}
				if (fos != null) {
					fos.close();
				}
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}