本帖最后由 Vista 于 2014-8-7 22:01 编辑
本人在看教学视频的时候,发现视频大多数都是一个文件夹里面有一个或几个视频,看完之后就得换文件夹,很麻烦。
所以我自己做了一个小程序,专门用来把文件夹里的视频给提取出来,先看看效果图。
这是张孝祥老师的视频教程,每个文件夹里面都有视频(用来做测试,视频不全)。
程序运行后,文件夹里面的视频都提取出来了,并且文件夹都删掉了。下面是程序执行之后的效果图。
下面是源码: - <p>
- import java.io.File;</p><p>public class FiltMoveTool {
- private static String rootPath;//用于记录根目录路径</p><p> public static void main(String[] args) {
- String dirPath = "F:\\baiduyundownload\\张孝祥2010年贺岁视频:Java高新技术";
- extractFile(dirPath,true);
- }</p><p> //提取文件夹里面的文件
- private static void extractFile(String dirPath,boolean flag) {
- if(flag){
- rootPath = dirPath;//记录根目录路径
- }
- File root = new File(dirPath);//根目录
- File[] dirFiles = root.listFiles();//获得所有的文件夹
- for (File file : dirFiles) {</p><p> if(file.isDirectory()){
- String filePath = file.getAbsolutePath();//获得文件夹的绝对路径</p><p> extractFile(filePath,false);//递归调用
- deleteFile(file);//删除文件夹
- }else
- if(file.isFile()){</p><p> String name = file.getName();//获取文件名
- String sub = name.substring(name.length()-3, name.length());//得到后缀名 如 avi </p><p> if("avi".equals(sub)){
- //System.out.println(rootPath +"<a href='file://\\"+file.getName'>\\"+file.getName</a>());
- File fnew = new File(rootPath +"<a href='file://\\"+file.getName'>\\"+file.getName</a>()); //将文件移到新文件里
- file.renameTo(fnew);
- }</p><p> }
- }
- }
- //删除文件夹以及里面所有文件
- private static void deleteFile(File file){</p><p> if(file.isFile()){
- file.delete();
- }else if(file.isDirectory()){
- File files[] = file.listFiles();
- for(int i=0;i<files.length;i++){
- deleteFile(files[i]);
- }
- }
- file.delete();
- }
- }
- </p><p> </p>
复制代码
|