黑马程序员技术交流社区
标题: 求代码 [打印本页]
作者: 白粥做底 时间: 2015-11-1 00:30
标题: 求代码
将指定目录下所有的txt文件复制到c盘下任意目录(你可以自己指定路径)并在复制后将txt后缀改成java后缀名。
作者: 大自然的搬运工 时间: 2015-11-1 01:48
/*
* 将指定目录下所有的txt文件复制到c盘下任意目录(你可以自己指定路径)并在复制后将txt后缀改成java后缀名。
*/
public class Test03 {
public static void main(String[] args) throws IOException {
// 定义两端的文件目录
String old_file = "e:\\test";
String new_file = "c:\\Demo";
File oldfile = new File(old_file);
File newfile = new File(new_file);
// 查找文件中所有的。txt文件
ArrayList<File> arr = new ArrayList<File>();
arr = findTxt(oldfile, arr);
// 复制到目录检查,没有则创建该目录
if (!newfile.isDirectory())
newfile.mkdirs();
// 便利集合分别复制每个文件
for (File f : arr) {
// 调用方法返回新名字
File newf = newFiles(f, newfile);
// 复制文件
move(f, newf);
}
}
// 将原来的.txt文件转变为.java文件对象
private static File newFiles(File f, File newfile) {
// 变换文件名
String name = f.getName();
name = name.replace(".txt", ".java");
File file = new File(newfile, name);
return file;
}
// 通过流复制文件
private static void move(File f, File newf) throws IOException {
BufferedReader buffr = new BufferedReader(new FileReader(f));
BufferedWriter buffw = new BufferedWriter(new FileWriter(newf));
String line = null;
while ((line = buffr.readLine()) != null)
buffw.write(line);
buffr.close();
buffw.close();
}
// 通过递归找出所有.txt文件
private static ArrayList<File> findTxt(File oldfile, ArrayList<File> arr)
throws IOException {
File[] files = oldfile.listFiles();
for (File f : files) {
if (f.isDirectory()) {
findTxt(f, arr);
} else {
if (f.getAbsolutePath().endsWith(".txt"))
// System.out.println(f.getAbsolutePath());
{
arr.add(f);
}
}
}
return arr;
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |