Java查找指定的(前缀,后缀或中间包含)文件

 1 import java.io.File;
 2 import java.io.FileNotFoundException;
 3 
 4 public class SearchFile {
 5 
 6     public static void main(String[] args) throws FileNotFoundException {
 7         File files = new File("F:/");    //创建File对象,指向F盘根目录
 8         String[] names = files.list();    //获取F盘根目录所有文件和路径,并以字符串数组返回
 9         for(String s:names){    //遍历字符串数组
10             boolean a = s.startsWith("ja");    //文件名前缀带有ja的返回true,没有则返回false
11             boolean b = (new File(files.getAbsolutePath()+s)).isFile();    //判断本次循环的字符串所指向的内容是否是文件,是则返回true.否则返回false
12             boolean c = s.contains("va");    //文件名是否包含"va",包含则返回true,否则false
13             if(a&&b){    //此处条件根据需要进行修改
14                 System.out.println(s);    //打印出符合条件的文件
15             }
16         }
17     }
18 
19 }

第11行:一个细节问题

如果将

boolean b = (new File(files.getAbsolutePath()+s)).isFile();

改为

boolean b = (new File(s)).isFile();

则会一直返回false,因为没有指定路径,系统会在项目的目录找s所指向的文件名,但是项目的目录内没有该文件,所以将一直判断不存在该文件

posted @ 2016-07-13 23:22  Vlong  阅读(10273)  评论(0编辑  收藏  举报