首先贴代码
package shurushuchu;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
/*
* 要求: 将文件复制到另外一个盘符
*
* 思路:
* 1、创建一个FileWrite对象
* 2、创建一个FileReader对象
* 3、创建一个文件,在文件中输入"hello\r\nworld\r\njava!"
* 4、将这个文件复制到另一个盘符中
*/
public class Demo {
public static void main(String[] args) {
// 首先创立文件
// 创建FileWriter对象
FileWriter fw1 = null;
// 异常处理
try {
// 创建xhx.txt文件
fw1 = new FileWriter("xhx.txt");
// 往文件中写入内容
fw1.write("hello\r\nworld\r\njava!");
// 刷新缓存
fw1.flush();
}
// 异常处理
catch (IOException e) {
e.printStackTrace();
}
// 一定要执行的语句
finally {
// 判断变量是否为空常量
if (fw1 != null) {
// 关闭流
try {
fw1.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
// 创立文件夹路径变量
File flie = null;
// 创建变量
FileWriter fw2 = null;
try {
// 创建一个目录存储新复制的文件
flie = new File("aaa");
flie.mkdirs();
// 创建目标路径的文件
fw2 = new FileWriter("aaa\\copy.txt");
} catch (IOException e) {
e.printStackTrace();
}
// 创建FileReader的变量
FileReader fr = null;
// 创建FileReader的对象
try {
fr = new FileReader("xhx.txt");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
// 开始复制文件
char[] chs = new char[1024];
int len = 0;
// 把读取到的数据以一个1024的字符数组的单位向目标文件复制
try {
while ((len = fr.read(chs)) != -1) {
fw2.write(new String(chs, 0, len));
// 刷新缓存
fw2.flush();
}
} catch (IOException e) {
e.printStackTrace();
} finally {
// 如果复制成功则关闭写入流,再关闭读出流
if (fr != null && fw2 != null) {
try {
fw2.close();
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
效果图如下
程序运行以前的工程文件夹
程序运行以后的工程文件夹
源文件内容
复制以后目标文件内容
|