代码片段,双击复制

​​package​​         ​​ match;​​       





​​import​​ ​​ java.io.File;​​


​​import​​ ​​ java.util.regex.Matcher;​​


​​import​​ ​​ java.util.regex.Pattern;​​





​​public​​ ​​ class​​ ​​ Utils {​​


​​/**​​


​​* 遍历指定文件夹下的资源文件​​


​​* @param folder 文件​​


​​*/​​


​​public​​ ​​ static​​ ​​ void​​ ​​ simpleScanning(File folder) {​​


​​//指定正则表达式​​


​​Pattern mPattern = Pattern.compile(​​ ​​"([^\\.]*)\\.([^\\.]*)"​​ ​​);​​


​​// 当前目录下的所有文件​​


​​final​​ ​​ String[] filenames = folder.list();​​


​​// 当前目录的名称​​


​​//final String folderName = folder.getName();​​


​​// 当前目录的绝对路径​​


​​//final String folderPath = folder.getAbsolutePath();​​


​​if​​ ​​ (filenames != ​​ ​​null​​ ​​) {​​


​​// 遍历当前目录下的所有文件​​


​​for​​ ​​ (String name : filenames) {​​


​​File file = ​​ ​​new​​ ​​ File(folder, name);​​


​​// 如果是文件夹则继续递归当前方法​​


​​if​​ ​​ (file.isDirectory()) {​​


​​simpleScanning(file);​​


​​} ​​


​​// 如果是文件则对文件进行相关操作​​


​​else​​ ​​ {​​


​​Matcher matcher = mPattern.matcher(name);​​


​​if​​ ​​ (matcher.matches()) {​​


​​// 文件名称​​


​​String fileName = matcher.group(​​ ​​1​​ ​​);​​


​​// 文件后缀​​


​​String fileExtension = matcher.group(​​ ​​2​​ ​​);​​


​​// 文件路径​​


​​String filePath = file.getAbsolutePath();​​





​​if​​ ​​ (Utils.isMusic(fileExtension)) {​​


​​// 初始化音乐文件......................​​


​​System.out.println(​​ ​​"This file is Music File,fileName="​​ ​​+fileName+​​ ​​"."​​


​​+fileExtension+​​ ​​",filePath="​​ ​​+filePath);​​


​​}​​





​​if​​ ​​ (Utils.isPhoto(fileExtension)) {​​


​​// 初始化图片文件......................​​


​​System.out.println(​​ ​​"This file is Photo File,fileName="​​ ​​+fileName+​​ ​​"."​​


​​+fileExtension+​​ ​​",filePath="​​ ​​+filePath);​​


​​}​​





​​if​​ ​​ (Utils.isVideo(fileExtension)) {​​


​​// 初始化视频文件......................​​


​​System.out.println(​​ ​​"This file is Video File,fileName="​​ ​​+fileName+​​ ​​"."​​


​​+fileExtension+​​ ​​",filePath="​​ ​​+filePath);​​


​​}​​


​​}​​


​​}​​


​​}​​


​​}​​


​​}​​


​​/**​​


​​* 判断是否是音乐文件​​


​​* @param extension 后缀名​​


​​* @return​​


​​*/​​


​​public​​ ​​ static​​ ​​ boolean​​ ​​ isMusic(String extension) {​​


​​if​​ ​​ (extension == ​​ ​​null​​ ​​)​​


​​return​​ ​​ false​​ ​​;​​





​​final​​ ​​ String ext = extension.toLowerCase();​​


​​if​​ ​​ (ext.equals(​​ ​​"mp3"​​ ​​) || ext.equals(​​ ​​"m4a"​​ ​​) || ext.equals(​​ ​​"wav"​​ ​​) || ext.equals(​​ ​​"amr"​​ ​​) || ext.equals(​​ ​​"awb"​​ ​​) || ​​


​​ext.equals(​​ ​​"aac"​​ ​​) || ext.equals(​​ ​​"flac"​​ ​​) || ext.equals(​​ ​​"mid"​​ ​​) || ext.equals(​​ ​​"midi"​​ ​​) || ​​


​​ext.equals(​​ ​​"xmf"​​ ​​) || ext.equals(​​ ​​"rtttl"​​ ​​) || ext.equals(​​ ​​"rtx"​​ ​​) || ext.equals(​​ ​​"ota"​​ ​​) || ​​


​​ext.equals(​​ ​​"wma"​​ ​​) ||ext.equals(​​ ​​"ra"​​ ​​) || ext.equals(​​ ​​"mka"​​ ​​) || ext.equals(​​ ​​"m3u"​​ ​​) || ext.equals(​​ ​​"pls"​​ ​​)) {​​


​​return​​ ​​ true​​ ​​;​​


​​}​​


​​return​​ ​​ false​​ ​​;​​


​​}​​


​​/**​​


​​* 判断是否是图像文件​​


​​* @param extension 后缀名​​


​​* @return​​


​​*/​​


​​public​​ ​​ static​​ ​​ boolean​​ ​​ isPhoto(String extension) {​​


​​if​​ ​​ (extension == ​​ ​​null​​ ​​)​​


​​return​​ ​​ false​​ ​​;​​





​​final​​ ​​ String ext = extension.toLowerCase();​​


​​if​​ ​​ (ext.endsWith(​​ ​​"jpg"​​ ​​) || ext.endsWith(​​ ​​"jpeg"​​ ​​) || ext.endsWith(​​ ​​"gif"​​ ​​) || ext.endsWith(​​ ​​"png"​​ ​​) || ​​


​​ext.endsWith(​​ ​​"bmp"​​ ​​) || ext.endsWith(​​ ​​"wbmp"​​ ​​)) {​​


​​return​​ ​​ true​​ ​​;​​


​​}​​


​​return​​ ​​ false​​ ​​;​​


​​}​​


​​/**​​


​​* 判断是否是视频文件​​


​​* @param extension 后缀名​​


​​* @return​​


​​*/​​


​​public​​ ​​ static​​ ​​ boolean​​ ​​ isVideo(String extension) {​​


​​if​​ ​​ (extension == ​​ ​​null​​ ​​)​​


​​return​​ ​​ false​​ ​​;​​





​​final​​ ​​ String ext = extension.toLowerCase();​​


​​if​​ ​​ (ext.endsWith(​​ ​​"mpeg"​​ ​​) || ext.endsWith(​​ ​​"mp4"​​ ​​) || ext.endsWith(​​ ​​"mov"​​ ​​) || ext.endsWith(​​ ​​"m4v"​​ ​​) || ​​


​​ext.endsWith(​​ ​​"3gp"​​ ​​) || ext.endsWith(​​ ​​"3gpp"​​ ​​) || ext.endsWith(​​ ​​"3g2"​​ ​​) || ​​


​​ext.endsWith(​​ ​​"3gpp2"​​ ​​) || ext.endsWith(​​ ​​"avi"​​ ​​) || ext.endsWith(​​ ​​"divx"​​ ​​) || ​​


​​ext.endsWith(​​ ​​"wmv"​​ ​​) || ext.endsWith(​​ ​​"asf"​​ ​​) || ext.endsWith(​​ ​​"flv"​​ ​​) || ​​


​​ext.endsWith(​​ ​​"mkv"​​ ​​) || ext.endsWith(​​ ​​"mpg"​​ ​​) || ext.endsWith(​​ ​​"rmvb"​​ ​​) ||​​


​​ext.endsWith(​​ ​​"rm"​​ ​​) || ext.endsWith(​​ ​​"vob"​​ ​​) || ext.endsWith(​​ ​​"f4v"​​ ​​)) {​​


​​return​​ ​​ true​​ ​​;​​


​​}​​


​​return​​ ​​ false​​ ​​;​​


​​}​​


​​}​​



下面使用该工具类进行测试指定的路径:/home/ouyangpeng/justForTest

当前路径下放了一些测试文件,如下图所示:


 



代码片段,双击复制

​​package​​         ​​ match;​​       





​​import​​ ​​ java.io.File;​​





​​public​​ ​​ class​​ ​​ Test{​​


​​public​​ ​​ static​​ ​​ void​​ ​​ main(String[] args) {​​


​​String path=​​ ​​"/home/ouyangpeng/justForTest"​​ ​​;​​


​​File file = ​​ ​​new​​ ​​ File(path);​​


​​if​​ ​​ (file==​​ ​​null​​ ​​) {​​


​​System.out.println(​​ ​​"file does not exist"​​ ​​);​​


​​}​​ ​​else​​ ​​{​​


​​Utils.simpleScanning(file);​​


​​}​​


​​}​​


​​}​​