/**
* 复制文件到指定路径(可创建路径)
*
* @param f1
* 文件
* @param f2
* 文件夹
* @param override
* 是否覆盖
* @param append
* 是否追加
* @return
*/
public static void copyFileToPath(File f1, File f2, boolean override, boolean append) {
copyFile(f1, newFile(f2.getAbsolutePath(), f1.getName()), override, append);
}
/**
* 根据流来复制。
*
* @param is
* 输入流
* @param os
* 输出流
*/
public static void copyFile(InputStream is, OutputStream os) {
FileUtilHelp.createCopy(is, os);
}
/**
* 复制文件到指定路径(可创建路径)
*
* @param fileName
* 文件名
* @param path
* 路径
* @param override
* 覆盖
* @param append
* 是否追加
*/
public static void copyFileToPath(String fileName, String path, boolean override, boolean append) {
copyFileToPath(newFile(fileName), newFile(path), override, append);
}
/**
* 复制指定路径下所有文件到指定路径(建议大文件不要太多)
*
* @param f1
* 文件对象
* @param f2
* 文件对象
* @param override
* 是否覆盖
* @param append
* 是否追加
* @param time
* 复制每个文件的间隔
*/
public static void copyPathToPath(File f1, File f2, boolean override, boolean append, long time) {
if (exists(f1) && isDirectory(f1)) {
File[] farr = f1.listFiles();
for (File f : farr) {
try {
Thread.sleep(time);// 一次性复制超过5个,线程支持不住,慢点也不影响性能。
} catch (InterruptedException e) {
e.printStackTrace();
}
copyFileToPath(f, f2, override, append);
}
}
}
/**
* 复制指定路径下所有文件到指定路径(大文件需要更多时间。)
*
* @param path1
* 路径
* @param path2
* 路径
* @param override
* 是否覆盖
* @param append
* 是否追加
* @param time
* 复制每个文件的间隔
*/
public static void copyPathToPath(String path1, String path2, boolean override, boolean append, long time) {
copyPathToPath(newFile(path1), newFile(parent(newFile(path1)), path2), override, append, time);
}