package test;
import java.io.File;//引入类
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
//实现文件的简单处理,复制和移动文件、目录等
public class TextCopyFileAndMove {
public static void fileMove(String from, String to) throws Exception {// 移动指定文件夹内的全部文件
try {
File dir = new File(from);
File[] files = dir.listFiles();// 将文件或文件夹放入文件集
if (files == null)// 判断文件集是否为空
return;
File moveDir = new File(to);// 创建目标目录
if (!moveDir.exists()) {// 判断目标目录是否存在
moveDir.mkdirs();// 不存在则创建
}
for (int i = 0; i < files.length; i++) {// 遍历文件集
if (files[i].isDirectory()) {// 如果是文件夹或目录,则递归调用fileMove方法,直到获得目录下的文件
fileMove(files[i].getPath(), to + "\\" + files[i].getName());// 递归移动文件
files[i].delete();// 删除文件所在原目录
}
File moveFile = new File(moveDir.getPath() + "\\"// 将文件目录放入移动后的目录
+ files[i].getName());
if (moveFile.exists()) {// 目标文件夹下存在的话,删除
moveFile.delete();
}
files[i].renameTo(moveFile);// 移动文件
System.out.println(files[i] + " 移动成功");
}
} catch (Exception e) {
throw e;
}
}
// 复制目录下的文件(不包括该目录)到指定目录,会连同子目录一起复制过去。
public static void copyFileFromDir(String toPath, String fromPath) {
File file = new File(fromPath);
createFile(toPath, false);// true:创建文件 false创建目录
if (file.isDirectory()) {// 如果是目录
copyFileToDir(toPath, listFile(file));
}
}
// 复制目录到指定目录,将目录以及目录下的文件和子目录全部复制到目标目录
public static void copyDir(String toPath, String fromPath) {
File targetFile = new File(toPath);// 创建文件