如何仅删除具有某些扩展名的文件

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

在此示例中,我们向您展示如何使用FilenameFilter列出文件夹“ c:\\ folder ”中所有以“ .txt ”扩展名结尾的文件 ,然后将其删除。

package com.mkyong.io;

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 == 0) return;

     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));
       }
    }
}

翻译自: https://mkyong.com/java/how-to-delete-files-with-certain-extension-only/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值