java 19 -14 File类的判断并输出案例

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 19 -14 File类的判断并输出案例相关的知识,希望对你有一定的参考价值。

 1 package zl_file;
 2 
 3 import java.io.File;
 4 import java.io.FilenameFilter;
 5 
 6 /*
 7   需求: 判断E盘目录下是否有后缀名为.jpg的文件,如果有,就输出此文件名称
 8    分析:
 9  两种方式:
10  A:先获取所有的,然后遍历的时候,依次判断,如果满足条件就输出。
11          a:封装h判断目录
12           b:获取该目录下所有文件或者文件夹的File数组
13           c:遍历该File数组,得到每一个File对象,然后判断
14           d:是否是文件
15               是:继续判断是否以.jpg结尾
16                   是:就输出该文件名称
17                   否:不搭理它
18               否:不搭理它
19               
20       
21  B: 获取的时候就已经是满足条件的了,然后输出即可。
22          要想实现这个效果,就必须学习一个接口:文件名称过滤器
23         public String[] list(FilenameFilter filter)
24         public File[] listFiles(FilenameFilter filter)        
25  */
26 public class FileTest1 {
27 
28     public static void main(String[] args) {
29         
30         //封装h判断目录
31         File file = new File("H:\\");
32         
33         //获取该目录下所有文件或者文件夹的File数组
34         File[] file1 = file.listFiles();
35         
36         //遍历该File数组,得到每一个File对象,然后判断
37         for(File f : file1){
38             //是否是文件
39             if(f.isFile()){
40                 //是否以.jpg结尾
41                 if(f.getName().endsWith(".jpg")){
42                     System.out.println(f.getName());
43                     //艾斯.jpg
44                 }
45             }
46         }
47     }
48 }

 

 

 1 package zl_file;
 2 
 3 import java.io.File;
 4 import java.io.FilenameFilter;
 5 /*
 6  获取的时候就已经是满足条件的了,然后输出即可。
 7       要想实现这个效果,就必须学习一个接口:文件名称过滤器
 8       1  public String[] list(FilenameFilter filter) 
 9             获取该目录下的所有的文件夹或者文件的名称的集合
10       2  public File[] listFiles(FilenameFilter filter)     
11             new FilenameFilter()是个文件名称过滤器接口,需要的是这个接口的实现类的对象,这里使用匿名方法
12  */
13 public class FileTest2 {
14 
15     public static void main(String[] args) {    
16         //封装h判断目录
17         File file = new File("h:\\");
18         
19         //获取该目录下的所有的文件夹或者文件的名称的集合:public String[] list(FilenameFilter filter)
20         String[] str = file.list(new FilenameFilter() {
21             
22             //new FilenameFilter()是个文件名称过滤器接口,需要的是这个接口的实现类的对象,这里使用匿名方法
23             public boolean accept(File dir, String name) {
24             /*
25                 //根据一个父File对象和一个子文件/目录得到File对象
26                 File file1 = new File(dir,name);
27             
28                 //是否是文件
29                 boolean flag1 = file1.isFile();
30                 
31                 //是否以.jpg结尾
32                 boolean flag2 = name.endsWith(".jpg");
33                 return flag2 && flag1;
34                 */
35                 //上面的可以总结为下面这段:
36                 return new File(dir,name).isFile() && name.endsWith(".jpg");
37             }
38         });    
39         //遍历
40         for(String st : str){
41         System.out.println(st);
42         }
43         //艾斯.jpg
44     }
45 }

 

以上是关于java 19 -14 File类的判断并输出案例的主要内容,如果未能解决你的问题,请参考以下文章

JAVA基础之IO流

Java自用练习题-File 类的使用

java 19 -12 File类的一些方法1

java如何判图片的名字在这个路径下是不是存在

JavaSE-19.1.2IO流练习案例-复制单级文件夹

从零开始的Java开发1-6-4 Java输入输出流:File类绝对路径和相对路径字节流缓冲流字符流对象序列化