【发布时间】:2013-08-12 05:30:16
【问题描述】:
假设我的文件夹中有这样的文件:
- myfile_mark_1.mp4
- myfile_john_2.mp4
- myfile_jake_3.mp4
- myfile_tristan_4.mp4
- yourfile_mark_1.mp4
我如何找到只有前缀和后缀中包含 "myfile_" 的名称为 3 或更少的文件(“_3.mp4”、“_2.mp4”、“_1.mp4”,类似这样)。
所以在我的程序中我可以得到:
- myfile_mark_1.mp4
- myfile_john_2.mp4 和
- myfile_jake_3.mp4
我试过这个,希望能走运,但没有得到任何结果。 :D
String myDirectory = Environment.getExternalStorageDirectory().getAbsolutePath();
File f = new File(myDirectory);
if (f.exists() && f.isDirectory()){
final Pattern p = Pattern.compile("myfile_*\\_(^0*(1?\\d|%d)$).mp4"); // I know I really have a stupid mistake on the regex;
File[] flists = f.listFiles(new FileFilter(){
@Override
public boolean accept(File file) {
return p.matcher(file.getName()).matches();
}
});
String s = "wait a minute, i'm debugging";
}
我希望有人可以帮助解决我的问题。
【问题讨论】:
-
请发布您的 myDirectory 路径
-
嗨 Yogesh,请看我的编辑。我只是将文件放在 sd 卡中,没有任何子文件夹只是为了测试。谢谢
标签: java android regex filefilter