A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

Vista

中级黑马

  • 黑马币:46

  • 帖子:28

  • 精华:0

本帖最后由 Vista 于 2014-8-7 22:01 编辑

       本人在看教学视频的时候,发现视频大多数都是一个文件夹里面有一个或几个视频,看完之后就得换文件夹,很麻烦。
所以我自己做了一个小程序,专门用来把文件夹里的视频给提取出来,先看看效果图。
       这是张孝祥老师的视频教程,每个文件夹里面都有视频(用来做测试,视频不全)。

程序运行后,文件夹里面的视频都提取出来了,并且文件夹都删掉了。下面是程序执行之后的效果图。


下面是源码:
  1. <p>
  2. import java.io.File;</p><p>public class FiltMoveTool {
  3. private static String rootPath;//用于记录根目录路径</p><p> public static void main(String[] args) {
  4.   String dirPath = "F:\\baiduyundownload\\张孝祥2010年贺岁视频:Java高新技术";
  5.   extractFile(dirPath,true);
  6. }</p><p> //提取文件夹里面的文件
  7. private static void extractFile(String dirPath,boolean flag) {
  8.   if(flag){
  9.    rootPath = dirPath;//记录根目录路径
  10.   }
  11.   File root = new File(dirPath);//根目录
  12.   File[] dirFiles = root.listFiles();//获得所有的文件夹
  13.   for (File file : dirFiles) {</p><p>   if(file.isDirectory()){
  14.     String filePath = file.getAbsolutePath();//获得文件夹的绝对路径</p><p>    extractFile(filePath,false);//递归调用
  15.     deleteFile(file);//删除文件夹
  16.    }else
  17.     if(file.isFile()){</p><p>     String name = file.getName();//获取文件名
  18.      String sub = name.substring(name.length()-3, name.length());//得到后缀名  如  avi </p><p>     if("avi".equals(sub)){
  19.       //System.out.println(rootPath +"<a href='file://\\"+file.getName'>\\"+file.getName</a>());
  20.       File fnew = new File(rootPath +"<a href='file://\\"+file.getName'>\\"+file.getName</a>()); //将文件移到新文件里
  21.       file.renameTo(fnew);
  22.      }</p><p>    }
  23.   }
  24. }
  25. //删除文件夹以及里面所有文件
  26. private static void deleteFile(File file){</p><p>  if(file.isFile()){
  27.    file.delete();
  28.   }else if(file.isDirectory()){
  29.    File files[] = file.listFiles();
  30.    for(int i=0;i<files.length;i++){
  31.     deleteFile(files[i]);
  32.    }
  33.   }
  34.   file.delete();
  35. }
  36. }
  37. </p><p> </p>
复制代码

评分

参与人数 1技术分 +1 收起 理由
枫儿 + 1 赞一个!

查看全部评分

26 个回复

正序浏览
Fengs 中级黑马 2014-8-14 16:38:23
27#
要活学活用,注意思考
回复 使用道具 举报
Vista 中级黑马 2014-8-14 08:38:20
26#
David.L 发表于 2014-8-13 23:59
赞扬楼主的动手,没细看代码,但发现了楼主获取扩展名只能是固定3位的,如果是rm或rmvb的不是就不能用了? ...

谢谢您的意见,受教了
回复 使用道具 举报
David.L 来自手机 中级黑马 2014-8-13 23:59:44
25#
本帖最后由 David.L 于 2014-8-14 00:17 编辑

赞扬楼主的动手,没细看代码,但发现了楼主获取扩展名只能是固定3位的,如果是rm或rmvb的不是就不能用了?个人建议可以在毕姥爷的获取文件夹所有内容那个事例上拓展
增加复制文件,和删除功能,即可解决问题
还可以增加重命名前缀,使播放器播放时会自动添加列表

也可以利用修改后文件改变路径使文件直接移动到指定目录

最后,还有更直接的,哈哈,代码都不用写,直接搜索文件夹下*·*文件,然后剪切粘贴,此方式最快哈。
来个玩笑~

评分

参与人数 1技术分 +1 收起 理由
枫儿 + 1 有眼光

查看全部评分

回复 使用道具 举报 1 0
Vista 中级黑马 2014-8-13 23:10:39
24#
陈永赛 发表于 2014-8-13 11:02
厉害,这只是基础应用么,对我来说,感觉有点遥远。

不遥远,加油,相信自己。
回复 使用道具 举报
Vista 中级黑马 2014-8-13 23:09:33
23#
左脑想你 发表于 2014-8-13 19:10
我也写了不过我想给他搞成可视化界面~~到时就有通用性了

嗯嗯,我也做过,不过当时使用C#做的,Java的你来做吧,哈哈
回复 使用道具 举报
Vista 中级黑马 2014-8-13 23:08:23
22#
小糊涂神 发表于 2014-8-13 20:46
楼主人才啊,做我大哥可否,哈哈!

呵呵,加油好好学,你也行的。不懂得咱们可以交流
回复 使用道具 举报
楼主人才啊,做我大哥可否,哈哈!
回复 使用道具 举报
活学活用,很好
回复 使用道具 举报
左脑想你 来自手机 中级黑马 2014-8-13 19:10:57
19#
我也写了不过我想给他搞成可视化界面~~到时就有通用性了
回复 使用道具 举报
赞一个{:3_47:}
回复 使用道具 举报
楼主有才。
回复 使用道具 举报
学以致用,楼主好样的
回复 使用道具 举报
厉害,这只是基础应用么,对我来说,感觉有点遥远。:)
回复 使用道具 举报
yqj 中级黑马 2014-8-8 16:00:04
14#
lz给力,赞一个
回复 使用道具 举报
楼主膜拜啊
回复 使用道具 举报
不错,学完IO就立即用,这实践经验好
回复 使用道具 举报
学以致用·
回复 使用道具 举报
厉害,学以致用
回复 使用道具 举报
厉害,学以致用
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马