20黑马币
public static void main(String[] args) throws IOException {
File filefor = getFile();
File fileto = getFile();
copy(filefor, fileto);
}
private static void copy(File filefor, File fileto) throws IOException {
// 在新文件夹下创建一个文件夹,与原文件夹名相同,用于接收
File newfile = new File(fileto, filefor.getName());
newfile.mkdir();
// 遍历原文件夹
File[] files = filefor.listFiles();
for (File file : files) {
// 判断是否为文件
if (file.isFile()) {
// 判断是否为 java文件
if (file.getName().endsWith(".java")) {
// 如果是,就创建一个".txt"文件;
File file2 = new File(newfile, file.getName().replace(
".java", ".txt"));
// 复制
copy2(file, file2);
}
File file2 = new File(newfile, file.getName());
copy2(file, file2);
} else {
// 不是文件,就是文件夹,递归
copy(file, newfile);
}
}
}
private static void copy2(File file, File file2)
throws FileNotFoundException, IOException {
try (BufferedInputStream bis = new BufferedInputStream(
new FileInputStream(file));
BufferedOutputStream bos = new BufferedOutputStream(
new FileOutputStream(file2));
) {
int len;
while ((len = bis.read()) != -1) {
bos.write(len);
}
}
}
private static File getFile() {
// 创建键盘录入文件夹路径,并判断是否为文件夹,
Scanner sc = new Scanner(System.in);
while (true) {
System.out.println("请输入文件夹位置:");
String s = sc.nextLine();
File file = new File(s);
if (!file.exists()) {
System.out.println("目录不存在!请重新输入");
} else if (file.isFile()) {
System.out.println("这是一个文件,请输入一个文件夹目录");
} else {
return file;
}
}
}
|
最佳答案
查看完整内容
public static void main(String[] args) throws IOException {
File filefor = getFile();
File fileto = getFile();
copy(filefor, fileto);
}
private static void copy(File filefor, File fileto) throws IOException {
// 在新文件夹下创建一个文件夹,与原文件夹名相同,用于接收
File newfile = new File(fileto, filefor.getName());
newfile.mkdir();
// 遍历原文件夹
File[] files = filefor.listF ...
|