黑马程序员技术交流社区

标题: 有没有什么方法能获取盘符下的所有MP4文件 [打印本页]

作者: wx_J25HxI5W    时间: 2015-6-25 22:46
标题: 有没有什么方法能获取盘符下的所有MP4文件
我这个只能获取盘符更目录下的MP4文件

import java.io.File;
import java.io.FilenameFilter;
/*
* 获取指定目录下指定后缀的文件名称:
* A:先获取指定目录下所有文件或者文件夹的File数组,然后再遍历的时候进行判断。满足条件的就输出该File的名称。
* B:直接获取指定目录下满足条件的String(File)数组。然后遍历数组即可。
*
* 文件名称过滤器:FilenameFilter
*                 public String[] list(FilenameFilter filter)
*/
public class FileDemo {
        public static void main(String[] args) {
                // 封装目录
                File file = new File("d:\\");
                // 获取满足条件的数组
                String[] strArray = file.list(new FilenameFilter() {
                        @Override
                        public boolean accept(File dir, String name) {
                                // 判断是否是文件,是否是以.mp4结尾
                                // System.out.println(dir + "---" + name);
                                File file = new File(dir, name); // d:\我的文档
                                boolean flag = file.isFile();
                                boolean flag2 = name.endsWith(".mp4");
                                return flag && flag2;
                        }
                });
                // 遍历字符串数组
                for (String str : strArray) {
                        System.out.println(str);
                }
        }
}
作者: 四叶草~    时间: 2015-6-25 23:07
不懂,,看看有没有大神路过,,,
作者: 牛奋    时间: 2015-6-25 23:09
要是楼主能把f盘所有的.MP4文件都能找出来就牛逼了,求大神提携啊!
作者: wx_J25HxI5W    时间: 2015-6-25 23:17
四叶草~ 发表于 2015-6-25 23:07
不懂,,看看有没有大神路过,,,

我就是大神,带你飞!
作者: wx_J25HxI5W    时间: 2015-6-25 23:18
牛奋 发表于 2015-6-25 23:09
要是楼主能把f盘所有的.MP4文件都能找出来就牛逼了,求大神提携啊!

土豪,咱俩能做朋友吗?
作者: Deathfish    时间: 2015-6-25 23:42
  1. class FileUtil {
  2.         ArrayList<File> fileList = new ArrayList<File>();

  3.         public void fileSearcher(File[] files, String str) {
  4.                 for (int i = 0; i < files.length; i++) {
  5.                         if (!files[i].getName().endsWith(".BIN")) {
  6.                                 if (files[i].isDirectory()) {
  7.                                         fileSearcher(files[i].listFiles(), str);
  8.                                 } else {
  9.                                         if (files[i].getName().endsWith(str)) {
  10.                                                 fileList.add(files[i]);
  11.                                         }
  12.                                 }
  13.                         }
  14.                 }
  15.         }

  16.         public File[] fileFilter(File[] files, String str) {
  17.                 fileSearcher(files, str);
  18.                 File[] fileArray = new File[fileList.size()];
  19.                 int i = 0;
  20.                 for (File file : fileList) {
  21.                         fileArray[i] = file;
  22.                         i++;
  23.                 }
  24.                 return fileArray;
  25.         }
  26. }
复制代码



作者: Deathfish    时间: 2015-6-25 23:44
  1.                 File dirs = new File("G:\\");
  2.                 FileUtil fileutil = new FileUtil();
  3.                 File[] files = dirs.listFiles();
  4.                 File[] f = fileutil.fileFilter(files, "jpg");
复制代码

作者: Deathfish    时间: 2015-6-25 23:45
FileUtil 类中
代码的第六行要改为
  1.                                         if (files[i].getName().toLowerCase().endsWith(str)) {
复制代码

作者: 牛奋    时间: 2015-6-27 17:49
wx_J25HxI5W 发表于 2015-6-25 23:18
土豪,咱俩能做朋友吗?

给我一个机会,还你一份惊喜。
作者: 小朱    时间: 2015-6-28 18:19
挺有想法额




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2