package com.itheima;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
/*
* 9、 编写程序,将指定目录下所有.java文件拷贝到另一个目的中,并将扩展名改为.txt
*/
public class Test09 {
public static void main(String[] args) throws IOException {
// 创建一个文件
File sourceFile = new File("E:\\resource");
File file = new File("E:\\heima\\resource");
file.mkdirs();
//找出文件夹下的所有java文件,并复制
method1(sourceFile,file);
}
private static void method1(File sourceFile,File file) throws IOException {
// 获取源文件中的所有文件
File[] files = sourceFile.listFiles();
for (File sonFile : files) {
//判断是否为文件
if (sonFile.isFile()) {
String str =sonFile.getName();
if (str.endsWith(".java")) {
//将文件的后缀改为.txt
String txt =str.replace(".java", ".txt");
method2(file,txt,sonFile);
}
}else if(sonFile.isDirectory()){
//获取文件夹的名字
String str =sonFile.getName();
//根据名字和文件对象,打开一个新的文件对象
File newfolder= new File(file,str);
//创建出文件夹
newfolder.mkdir();
//sonFile为当前文件夹下的子文件夹,newfolder为创建的一个要存储文件的文件夹
method1(sonFile,newfolder);
}
}
}
private static void method2(File file,String str, File sonFile) throws IOException {
// 打开文件对象
File javaFile = new File(file,str);
// 创建文件
javaFile.createNewFile();
// 创建打开可读可写文件
FileReader fr = new FileReader(sonFile.getAbsoluteFile());
FileWriter fw = new FileWriter(javaFile);
// 读取并写入
char[] ch = new char[1024];
int len = 0;
while ((len = fr.read(ch)) != -1) {
fw.write(ch, 0, len);
}
// 关闭缓冲流
fr.close();
fw.close();
}
}
|
|