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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

我这个只能获取盘符更目录下的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);
                }
        }
}

评分

参与人数 2黑马币 +15 收起 理由
小朱 + 10 赞一个!
牛奋 + 5 很给力!

查看全部评分

9 个回复

倒序浏览
不懂,,看看有没有大神路过,,,
回复 使用道具 举报
要是楼主能把f盘所有的.MP4文件都能找出来就牛逼了,求大神提携啊!
回复 使用道具 举报
四叶草~ 发表于 2015-6-25 23:07
不懂,,看看有没有大神路过,,,

我就是大神,带你飞!
回复 使用道具 举报
牛奋 发表于 2015-6-25 23:09
要是楼主能把f盘所有的.MP4文件都能找出来就牛逼了,求大神提携啊!

土豪,咱俩能做朋友吗?
回复 使用道具 举报
  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. }
复制代码


回复 使用道具 举报
  1.                 File dirs = new File("G:\\");
  2.                 FileUtil fileutil = new FileUtil();
  3.                 File[] files = dirs.listFiles();
  4.                 File[] f = fileutil.fileFilter(files, "jpg");
复制代码
回复 使用道具 举报
FileUtil 类中
代码的第六行要改为
  1.                                         if (files[i].getName().toLowerCase().endsWith(str)) {
复制代码
回复 使用道具 举报
牛奋 来自手机 中级黑马 2015-6-27 17:49:46
9#
wx_J25HxI5W 发表于 2015-6-25 23:18
土豪,咱俩能做朋友吗?

给我一个机会,还你一份惊喜。
回复 使用道具 举报
挺有想法额
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马