Java获取指定文件夹下目录下所有视频并复制到另一个地方

java 复制代码
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.StandardCopyOption;
 
public class VideoCopier {
 
    public static void main(String[] args) {
        // 指定源文件夹路径和目标文件夹路径
        String sourceFolderPath = "path/to/source/folder";
        String destinationFolderPath = "path/to/destination/folder";
 
        // 调用方法复制视频文件
        copyVideos(sourceFolderPath, destinationFolderPath);
    }
 
    private static void copyVideos(String sourceFolderPath, String destinationFolderPath) {
        // 创建源文件夹对象
        File sourceFolder = new File(sourceFolderPath);
 
        // 获取源文件夹下的所有文件和子文件夹
        File[] files = sourceFolder.listFiles();
 
        if (files != null) {
            for (File file : files) {
                if (file.isDirectory()) {
                    // 如果是子文件夹,则递归调用该方法处理子文件夹
                    copyVideos(file.getAbsolutePath(), destinationFolderPath);
                } else {
                    // 如果是视频文件,则复制到目标文件夹中
                    if (isVideoFile(file)) {
                        try {
                            Files.copy(file.toPath(), new File(destinationFolderPath, file.getName()).toPath(),
                                    StandardCopyOption.REPLACE_EXISTING);
                            System.out.println("成功复制视频:" + file.getName());
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                    }
                }
            }
        }
    }
 
    private static boolean isVideoFile(File file) {
        // 判断是否为视频文件,这里简单判断后缀名为常见视频格式即可,你可以根据实际需求进行修改
        String fileName = file.getName();
        String extension = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase();
        return extension.equals("mp4") || extension.equals("avi") || extension.equals("mov");
    }
}

实现效果:

相关推荐
电商API_1800790524731 分钟前
第三方淘宝商品详情 API 全维度调用指南:从技术对接到生产落地
java·大数据·前端·数据库·人工智能·网络爬虫
一点程序1 小时前
基于SpringBoot的选课调查系统
java·spring boot·后端·选课调查系统
C雨后彩虹1 小时前
计算疫情扩散时间
java·数据结构·算法·华为·面试
2601_949809591 小时前
flutter_for_openharmony家庭相册app实战+我的Tab实现
java·javascript·flutter
vx_BS813301 小时前
【直接可用源码免费送】计算机毕业设计精选项目03574基于Python的网上商城管理系统设计与实现:Java/PHP/Python/C#小程序、单片机、成品+文档源码支持定制
java·python·课程设计
2601_949868361 小时前
Flutter for OpenHarmony 电子合同签署App实战 - 已签合同实现
java·开发语言·flutter
达文汐2 小时前
【困难】力扣算法题解析LeetCode332:重新安排行程
java·数据结构·经验分享·算法·leetcode·力扣
培风图南以星河揽胜2 小时前
Java版LeetCode热题100之零钱兑换:动态规划经典问题深度解析
java·leetcode·动态规划
启山智软2 小时前
【中大企业选择源码部署商城系统】
java·spring·商城开发
我真的是大笨蛋2 小时前
深度解析InnoDB如何保障Buffer与磁盘数据一致性
java·数据库·sql·mysql·性能优化