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

实现效果:

相关推荐
多喝开水少熬夜15 小时前
算法-哈希表和相关练习-java
java·算法·散列表
shayudiandian16 小时前
【Java】面向对象编程
java
asom2216 小时前
互联网大厂Java求职面试实战:Spring Boot到Kubernetes的技术问答
java·spring boot·kubernetes·oauth2·电商·microservices·面试技巧
I_Jln16 小时前
CountDownLatch:让多线程同步如此简单
java
虎子_layor16 小时前
轻量级哈希扰动工具:Hashids,快速上手
java·spring
逻极16 小时前
VS Code之Java 开发完全指南:从环境搭建到实战优化
java·开发语言
Moe48816 小时前
JDK动态代理和CGLIB动态代理源码解析
java·后端
月月玩代码16 小时前
SLF4J,简单门面Java日志框架
java·开发语言
虎子_layor16 小时前
号段模式(分布式ID)上手指南:从原理到实战
java·后端
lkbhua莱克瓦2416 小时前
Java基础——集合进阶用到的数据结构知识点3
java·数据结构·github·平衡二叉树·avl