适用于某文件夹下有大量相同后缀的文件,仅保留指定后缀文件的场景,也可以结合实际情况进行代码变动 比如说:在电脑上下载的某站视频,就可以采用这种方式
/** * 批量转移某文件夹下指定后缀的文件到指定文件夹中,并删除源文件夹 * * @author MoCha * @date 2019/5/26 */ public class FileDemo { /** * 源文件夹路径 */ private static final String SOURCE_FILE_PATH = "F:\\程序设计资料\\45084065"; /** * 目标文件夹路径(没有会自动创建) */ private static final String TARGET_FILE_PATH = "F:\\程序设计资料\\Spring Cloud Alibaba 系列教程\\"; private static final String SUFFIX = ".flv"; public static void main(String[] args) { File sourceFile = new File(SOURCE_FILE_PATH); File targetFile = new File(TARGET_FILE_PATH); if (!targetFile.exists()) { targetFile.mkdir(); } moveFile(sourceFile); sourceFile.delete(); } /** * 移动指定后缀文件到指定文件夹中 * * @param sourceFile 包含需要移动文件的文件夹对象 */ private static void moveFile(File sourceFile) { File[] fileArray = sourceFile.listFiles(); for (File file : fileArray) { if (file.isDirectory()) { // 如果当前file对象为目录则继续递归遍历该file对象 moveFile(file); } else { if (file.getName().endsWith(SUFFIX)) { File targetFile = new File(TARGET_FILE_PATH + file.getName()); if (targetFile.exists()) { System.out.println("文件已存在"); } else { file.renameTo(targetFile); System.out.println("移动文件成功"); } } else { file.delete(); } } file.delete(); } } }