查找一个目录下所有的视频或其他格式文件大小
2013-12-18 17:58
246 查看
记得刚学编程的时候,有个很典型的递归例子,就是汉诺塔的问题。
当时是一头雾水呀,一副不明觉厉的样子o(╯□╰)o
现在有个需求是查找内存卡里所有视频,并计算出所占内存大小。
这时首先想到的就是当年的汉诺塔了。
好的,开搞
判断是不是视频,我们可以通过后缀名来处理
当然,后缀名你也可以加很多
扩展一下,既然我们可以获取所有视频的大小,那其他文件也就不言而喻了
查找其他文件就可以根据需求来做了
不过,这种方法,查找起来效率有点不是很高。如果有更好地查找方法,麻烦指导一下小弟,O(∩_∩)O哈哈~
当时是一头雾水呀,一副不明觉厉的样子o(╯□╰)o
现在有个需求是查找内存卡里所有视频,并计算出所占内存大小。
这时首先想到的就是当年的汉诺塔了。
好的,开搞
public static long parseFileOfVoice(File file) { if (!file.exists() || file.isHidden()) { return 0; } if (file.isDirectory()) { File[] fileArr = file.listFiles(); if (fileArr == null) { return 0; } long length = 0; for (int i = 0; i < fileArr.length; i++) { length += parseFileOfVoice(fileArr[i]); } return length; } else if (file.isFile() && isVoice(file)) { return file.length(); } return 0; }
判断是不是视频,我们可以通过后缀名来处理
public static boolean isVideo(File file){ String name = file.getName().toLowerCase(Locale.getDefault()); if(name.endsWith("mp4") || name.endsWith("avi") || name.endsWith("3gp") || name.endsWith("mkv") || name.endsWith("flv") || name.endsWith("rmvb")) return true; return false; }
当然,后缀名你也可以加很多
扩展一下,既然我们可以获取所有视频的大小,那其他文件也就不言而喻了
public static boolean isVoice(File file){ String name = file.getName().toLowerCase(Locale.getDefault()); if(name.endsWith("mp3") || name.endsWith("wma") || name.endsWith("wav")) return true; return false; }
查找其他文件就可以根据需求来做了
不过,这种方法,查找起来效率有点不是很高。如果有更好地查找方法,麻烦指导一下小弟,O(∩_∩)O哈哈~
相关文章推荐
- 查找一个目录下所有视频文件
- windows下查找一个目录下所有文件内容
- 编写一个SHELL脚本,可以获得指定目录下的所有文件及文件夹的大小。输出的样式与 ls -lh 命令相同。
- 编写一个Python程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径
- 查找一个目录下,所有文件中数字、字母(大小写不区分)、汉字、空格的个数、行数。
- 在一个目录及其所有子目录下所有的文件中查找某个单词
- Linux Shell删除某一个目录下的所有文件夹(保留其他文件)
- 计算一个目录下所有文件的大小
- linux下将一个目录下的所有文件拷贝到另一个大文件中,并把大文件拆分成原来的小文件,大小,内容,名字不变
- bash shell计算出一个目录下所有文件的大小
- 查找一个目录下的所有文件
- C++查找一个目录下所有特定扩展名的文件
- 用java计算一个目录里所有文件的大小
- 给定一个整数数组,1≤a [i]≤n(n =数组的大小),一些元素出现两次,其他出现一次 查找在该数组中出现两次的所有元素
- 查找目录下的及子目录下的 所有的给定后缀名的文件并将其路径打印到一个文件中。
- 编写一个程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径。
- C++查找一个目录下所有特定扩展名的文件
- C++查找一个目录下所有特定扩展名的文件
- 列出一个目录中所有文件及大小
- 查找一个目录下的所有文件