Java遍历文件夹所有文件并将不同类型的文件剪切到另一个文件夹中

本文介绍了一种使用Java实现的视频文件筛选与转移方法。通过遍历指定文件夹中的所有文件,该方法能够准确地识别出MP4格式的视频文件,并将其转移到另一个专门用于存放视频的文件夹中。此外,该程序还会从源文件夹中删除已转移的文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求:遍历文件夹中的所有文件,将文件夹中的视频文件提取出来存入另一个文件夹中

方法:遍历文件夹,获取文件后缀名进行操作。

重点:

利用 apache.commons.io.FileUtils 中的文件操作,方便快速

import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;
import java.io.*;
/**
 * @author wwd8678
 * @date 2018/5/23
 */
public class ClassifyforName {
    /**
     * FILE_PATH 需分类文件的目录
     */
    private static final String FILE_PATH = PropertiesUtils.getProperty("file_path");
    public static void main(String args[]) throws IOException {
        File[] file = (new File(FILE_PATH)).listFiles();
        System.out.println("开始遍历文件夹 " + FILE_PATH);
        for (File fe : file) {
            System.out.println("-----------------------------------");
            showDirectory(fe.getAbsolutePath());
        }
    }
    public static void showDirectory(String path) throws IOException {
        File file = new File(path);
        File[] files = file.listFiles();
        for (File fs : files) {
            if (fs.isFile()) {
                System.out.println(fs.getName());
                //判断文件是否为MP4格式
                if (fs.getName().endsWith(".mp4")) {
                    System.out.println("mp4 " + fs.getName());
                    //获取路径
                    String outPath = StringUtils.substringBeforeLast(fs.getPath(),File.separator);
                    System.out.println(outPath+"_video"+ File.separator + fs.getName());
                    if(!outPath.contains("video")){
                        //利用apache.commons.io.FileUtils的方法直接拷贝文件,文件名为源文件的名称后加“_video”
                        FileUtils.copyFile(fs, new File(outPath+"_video"+ File.separator + fs.getName()));
                        //删除源文件中的文件
                        FileUtils.deleteQuietly(fs);
                    }
                }
            }
        }
    }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值