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");
    }
}

实现效果:

相关推荐
饕餮争锋几秒前
Spring内置的Bean作用域介绍
java·后端·spring
却话巴山夜雨时i几秒前
394. 字符串解码【中等】
java·数据结构·算法·leetcode
张人大 Renda Zhang23 分钟前
Java 虚拟线程 Virtual Thread:让“每请求一线程”在高并发时代复活
java·jvm·后端·spring·架构·web·虚拟线程
一勺菠萝丶31 分钟前
解决 SLF4J 警告问题 - 完整指南
java·spring boot·后端
济南壹软网络科技有限公司34 分钟前
架构深潜:通霸IM——私有化部署、全链路开源的高可用企业级即时通讯技术基座
java·架构·开源·即时通讯源码·即时通讯im
小股虫36 分钟前
手搓限流第二版:限流算法与动态阈值的深度整合
java
TracyCoder12339 分钟前
大白话讲Java NIO
java·开发语言·nio
魂梦翩跹如雨1 小时前
P8615 [蓝桥杯 2014 国 C] 拼接平方数——Java解答
java·c语言·蓝桥杯
学习路上_write1 小时前
FREERTOS_任务通知——使用
java·前端·javascript
rabbit_pro1 小时前
Java 文件上传到服务器本地存储
java·服务器·python