• Java基础知识强化之IO流笔记10:File类输出指定目录下指定后缀名的文件名称案例(File类的文件过滤器方法改进list( FilenameFilter ff))


    1. 案例:

    判断F盘下是否有后缀名为.jpg的文件,如果有的话,就输出这个文件名。

    2. 案例代码如下:

    (1)思路是:先获取所有的文件和文件夹封装的对象,然后遍历的时候,依次判断,如果满足条件就输出.

     1 package com.himi.filesdemo;
     2 
     3 import java.io.File;
     4 
     5 
     6 /**
     7  * 判断F盘下是否有后缀名为.jpg的文件,如果有的话,就输出这个文件名
     8  * @author hebao
     9  *
    10  */
    11 public class FileDemo4 {
    12 
    13     public static void main(String[] args) {
    14         //封装F盘的目录
    15         File file = new File("F:\");
    16         //获取该目录下所有文件和文件夹的File数组
    17         File[] files = file.listFiles();
    18         //遍历上面的File[]数组
    19         for(File f:files) {
    20             if(f.isFile()) {
    21                 if(f.getName().endsWith(".jpg")) {
    22                     System.out.println("JPG图片文件名为:"+f.getName());
    23                 }
    24             }
    25         }
    26     }
    27 
    28 }

    运行效果如下:

    (2)思路是:获取的时候就已经满足条件了,然后输出即可.

     1 package com.himi.filesdemo;
     2 
     3 import java.io.File;
     4 import java.io.FilenameFilter;
     5 
     6 
     7 /**
     8  * 判断F盘下是否有后缀名为.jpg的文件,如果有的话,就输出这个文件名
     9  * 
    10  * 思路:
    11  * (1)先获取所有的文件和文件夹封装的对象,然后遍历的时候,依次判断,如果满足条件就输出.
    12  * (2)获取的时候就已经满足条件了,然后输出即可.
    13  * @author hebao
    14  *
    15  */
    16 public class FileDemo4 {
    17 
    18     public static void main(String[] args) {
    19         //思路(1)
    20         /*
    21         //封装F盘的目录
    22         File file = new File("F:\");
    23         //获取该目录下所有文件和文件夹的File数组
    24         File[] files = file.listFiles();
    25         //遍历上面的File[]数组
    26         for(File f:files) {
    27             if(f.isFile()) {
    28                 if(f.getName().endsWith(".jpg")) {
    29                     System.out.println("JPG图片文件名为:"+f.getName());
    30                 }
    31             }
    32         }
    33         */
    34         
    35         //思路(2)
    36         
    37         //封装F盘的目录
    38         File file = new File("F:\");
    39         //获取该目录下所有文件和文件夹的String数组
    40         String[] strArray = file.list(new FilenameFilter() {
    41             
    42             public boolean accept(File dir, String name) {
    43                 //System.out.println(dir+"----------"+name);
    44                 File file = new File(dir,name);
    45                 boolean flag1 = file.isFile();
    46                 boolean flag2 = file.getName().endsWith(".jpg");
    47                 
    48                 return flag1 && flag2;
    49             }
    50         });
    51         
    52         //遍历String数组
    53         for(String str:strArray) {
    54             System.out.println(str);
    55         }
    56     }
    57 
    58 }

    运行效果,如下:

  • 相关阅读:
    我所知道的数据库8-DML语言
    我所知道的数据库7-DDL语言(续2)
    CSS3 3D transform变换
    深入理解Node.js的异步编程风格(转载)
    ECMAscript
    JavaScript高级部分概念用法
    前端工程师面试题汇总
    10个最常见的HTML5中的面试题及答案
    js事件流
    本地储存
  • 原文地址:https://www.cnblogs.com/hebao0514/p/4846567.html
Copyright © 2020-2023  润新知