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();
}
}
}