zoukankan      html  css  js  c++  java
  • Java I/O之用FilenameFilter实现根据文件扩展名删除文件

    在Java中,你可以通过实现FilenameFilter类并重写accept(File dir, String name) 方法实现文件过滤功能。

    在这个例子中,我们向你展示在“c:\folder”路径下列出所有“.txt”格式的文件并删除。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    package com.it161.demo;
      
    import java.io.*;
      
    public class FileChecker {
      
       private static final String FILE_DIR = "c:\folder";
       private static final String FILE_TEXT_EXT = ".txt";
      
       public static void main(String args[]) {
        new FileChecker().deleteFile(FILE_DIR,FILE_TEXT_EXT);
       }
      
       public void deleteFile(String folder, String ext){
      
         GenericExtFilter filter = new GenericExtFilter(ext);
         File dir = new File(folder);
      
         //list out all the file name with .txt extension
         String[] list = dir.list(filter);
      
         if (list.length == 0return;
      
         File fileDelete;
      
         for (String file : list){
         String temp = new StringBuffer(FILE_DIR)
                          .append(File.separator)
                          .append(file).toString();
            fileDelete = new File(temp);
            boolean isdeleted = fileDelete.delete();
            System.out.println("file : " + temp + " is deleted : " + isdeleted);
         }
       }
      
       //inner class, generic extension filter 
       public class GenericExtFilter implements FilenameFilter {
      
           private String ext;
      
           public GenericExtFilter(String ext) {
             this.ext = ext;             
           }
      
           public boolean accept(File dir, String name) {
             return (name.endsWith(ext));
           }
        }
    }

     

    原创文章,转载请注明出处:http://www.it161.com/article/javaDetail?articleid=140111233238

    更多原创内容,请访问:http://www.it161.com/

  • 相关阅读:
    Luogu 4841 城市规划
    Luogu 4721 【模板】分治 FFT
    Luogu 4091 [HEOI2016/TJOI2016]求和
    Luogu 3723 [AH2017/HNOI2017]礼物
    FFT笔记
    Luogu 4900 食堂
    Luogu 4155 [SCOI2015]国旗计划
    Luogu 4069 [SDOI2016]游戏
    Luogu 4254 [JSOI2008]Blue Mary开公司
    Luogu 4251 [SCOI2015]小凸玩矩阵
  • 原文地址:https://www.cnblogs.com/youqishini/p/3515528.html
Copyright © 2011-2022 走看看