01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<code>package</code>
<code>match;</code>
<code>import</code>
<code>java.io.file;</code>
<code>java.util.regex.matcher;</code>
<code>java.util.regex.pattern;</code>
<code>public</code>
<code>class</code> <code>utils {</code>
<code> </code><code>/**</code>
<code> </code><code>* 遍历指定文件夹下的资源文件</code>
<code> </code><code>* @param folder 文件</code>
<code> </code><code>*/</code>
<code> </code><code>public</code>
<code>static</code> <code>void</code> <code>simplescanning(file folder) {</code>
<code> </code><code>//指定正则表达式</code>
<code> </code><code>pattern mpattern = pattern.compile(</code><code>"([^\\.]*)\\.([^\\.]*)"</code><code>);</code>
<code> </code><code>// 当前目录下的所有文件</code>
<code> </code><code>final</code>
<code>string[] filenames = folder.list();</code>
<code> </code><code>// 当前目录的名称</code>
<code> </code><code>//final string foldername = folder.getname();</code>
<code> </code><code>// 当前目录的绝对路径</code>
<code> </code><code>//final string folderpath = folder.getabsolutepath();</code>
<code> </code><code>if</code>
<code>(filenames !=</code><code>null</code><code>) {</code>
<code> </code><code>// 遍历当前目录下的所有文件</code>
<code> </code><code>for</code>
<code>(string name : filenames) {</code>
<code> </code><code>file file =</code><code>new</code>
<code>file(folder, name);</code>
<code> </code><code>// 如果是文件夹则继续递归当前方法</code>
<code> </code><code>if</code>
<code>(file.isdirectory()) {</code>
<code> </code><code>simplescanning(file);</code>
<code> </code><code>}</code>
<code> </code><code>// 如果是文件则对文件进行相关操作</code>
<code> </code><code>else</code>
<code>{</code>
<code> </code><code>matcher matcher = mpattern.matcher(name);</code>
<code> </code><code>if</code>
<code>(matcher.matches()) {</code>
<code> </code><code>// 文件名称</code>
<code> </code><code>string filename = matcher.group(</code><code>1</code><code>);</code>
<code> </code><code>// 文件后缀</code>
<code> </code><code>string fileextension = matcher.group(</code><code>2</code><code>);</code>
<code> </code><code>// 文件路径</code>
<code> </code><code>string filepath = file.getabsolutepath();</code>
<code> </code>
<code> </code><code>if</code>
<code>(utils.ismusic(fileextension)) {</code>
<code> </code><code>// 初始化音乐文件......................</code>
<code> </code><code>system.out.println(</code><code>"this file is music file,filename="</code><code>+filename+</code><code>"."</code>
<code> </code><code>+fileextension+</code><code>",filepath="</code><code>+filepath);</code>
<code> </code><code>}</code>
<code>(utils.isphoto(fileextension)) {</code>
<code> </code><code>// 初始化图片文件......................</code>
<code> </code><code>system.out.println(</code><code>"this file is photo file,filename="</code><code>+filename+</code><code>"."</code>
<code>(utils.isvideo(fileextension)) {</code>
<code> </code><code>// 初始化视频文件......................</code>
<code> </code><code>system.out.println(</code><code>"this file is video file,filename="</code><code>+filename+</code><code>"."</code>
<code> </code><code>}</code>
<code> </code><code>}</code>
<code> </code><code>}</code>
<code> </code><code>}</code>
<code> </code><code>* 判断是否是音乐文件</code>
<code> </code><code>* @param extension 后缀名</code>
<code> </code><code>* @return</code>
<code>static</code> <code>boolean</code> <code>ismusic(string extension) {</code>
<code>(extension ==</code><code>null</code><code>)</code>
<code> </code><code>return</code>
<code>false</code><code>;</code>
<code>string ext = extension.tolowercase();</code>
<code>(ext.equals(</code><code>"mp3"</code><code>) || ext.equals(</code><code>"m4a"</code><code>) || ext.equals(</code><code>"wav"</code><code>) || ext.equals(</code><code>"amr"</code><code>) || ext.equals(</code><code>"awb"</code><code>) ||</code>
<code> </code><code>ext.equals(</code><code>"aac"</code><code>) || ext.equals(</code><code>"flac"</code><code>) || ext.equals(</code><code>"mid"</code><code>) || ext.equals(</code><code>"midi"</code><code>) ||</code>
<code> </code><code>ext.equals(</code><code>"xmf"</code><code>) || ext.equals(</code><code>"rtttl"</code><code>) || ext.equals(</code><code>"rtx"</code><code>) || ext.equals(</code><code>"ota"</code><code>) ||</code>
<code> </code><code>ext.equals(</code><code>"wma"</code><code>) ||ext.equals(</code><code>"ra"</code><code>) || ext.equals(</code><code>"mka"</code><code>) || ext.equals(</code><code>"m3u"</code><code>) || ext.equals(</code><code>"pls"</code><code>)) {</code>
<code>true</code><code>;</code>
<code> </code><code>return</code>
<code> </code><code>* 判断是否是图像文件</code>
<code>static</code> <code>boolean</code> <code>isphoto(string extension) {</code>
<code>(ext.endswith(</code><code>"jpg"</code><code>) || ext.endswith(</code><code>"jpeg"</code><code>) || ext.endswith(</code><code>"gif"</code><code>) || ext.endswith(</code><code>"png"</code><code>) ||</code>
<code> </code><code>ext.endswith(</code><code>"bmp"</code><code>) || ext.endswith(</code><code>"wbmp"</code><code>)) {</code>
<code> </code><code>* 判断是否是视频文件</code>
<code>static</code> <code>boolean</code> <code>isvideo(string extension) {</code>
<code>(ext.endswith(</code><code>"mpeg"</code><code>) || ext.endswith(</code><code>"mp4"</code><code>) || ext.endswith(</code><code>"mov"</code><code>) || ext.endswith(</code><code>"m4v"</code><code>) ||</code>
<code> </code><code>ext.endswith(</code><code>"3gp"</code><code>) || ext.endswith(</code><code>"3gpp"</code><code>) || ext.endswith(</code><code>"3g2"</code><code>) ||</code>
<code> </code><code>ext.endswith(</code><code>"3gpp2"</code><code>) || ext.endswith(</code><code>"avi"</code><code>) || ext.endswith(</code><code>"divx"</code><code>) ||</code>
<code> </code><code>ext.endswith(</code><code>"wmv"</code><code>) || ext.endswith(</code><code>"asf"</code><code>) || ext.endswith(</code><code>"flv"</code><code>) ||</code>
<code> </code><code>ext.endswith(</code><code>"mkv"</code><code>) || ext.endswith(</code><code>"mpg"</code><code>) || ext.endswith(</code><code>"rmvb"</code><code>) ||</code>
<code> </code><code>ext.endswith(</code><code>"rm"</code><code>) || ext.endswith(</code><code>"vob"</code><code>) || ext.endswith(</code><code>"f4v"</code><code>)) {</code>
<code>}</code>
下面使用该工具类进行测试指定的路径:/home/ouyangpeng/justfortest当前路径下放了一些测试文件,如下图所示:

<code>class</code> <code>test{</code>
<code>static</code> <code>void</code> <code>main(string[] args) {</code>
<code> </code><code>string path=</code><code>"/home/ouyangpeng/justfortest"</code><code>;</code>
<code> </code><code>file file =</code><code>new</code>
<code>file(path);</code>
<code>(file==</code><code>null</code><code>) {</code>
<code> </code><code>system.out.println(</code><code>"file does not exist"</code><code>);</code>
<code> </code><code>}</code><code>else</code><code>{</code>
<code> </code><code>utils.simplescanning(file);</code>
原文网址:http://blog.csdn.net/ouyang_peng/article/details/17008129