import org.apache.commons.io.FileUtils;
import java.io.File;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
/***
* 文件移动和文件重命名工具类demo
* 注意:因为使用过线程池所以对象只能在单例模式中使用,否则用处不大
* */
public class FileUtilsDemo {
/**
* 线程池
*/
public static ExecutorService executor = Executors.newFixedThreadPool(100);
/**
* 重新命名该文件夹
* fileUrl 原文件夹名称
* newFileName 新文件名称
*/
private void renameToFile(String fileUrl, String newFileName) {
File file = new File("/Users/xxxx/nacos");
if (file.exists()) {
file.renameTo(new File("/Users/xxx/nacos-back"));
//移动文件位置
removeFilePosition("","");
} else {
System.err.println("文件没有找到" + fileUrl);
}
}
/**
* 移动文件位置
* srcFileUrl 原文件路径
* targetUrl 移动到那个文件夹下面的路径
*/
private void removeFilePosition(String srcFileUrl, String targetUrl) {
//异步执行文件位置挪动
CompletableFuture.runAsync(() -> {
try {
FileUtils.moveDirectoryToDirectory(new File("/Users/xxxx/nacos-back"), new File("/Users/xxx/nginx"), false);
} catch (Exception e) {
System.err.println("移动文件位置error 原文件路径"+srcFileUrl + "目标位置"+targetUrl);
e.printStackTrace();
}
}, executor);
}
public static void main(String[] args) {
new FileUtilsDemo().removeFilePosition("", "");
}
}