删除指定目录下的指定后缀文件

 1 package org.zln.module1.demo1;
 2
 3 import org.apache.log4j.Logger;
 4
 5 import java.io.File;
 6
 7 /**
 8  * 删除指定根目录下,及其子目录中,指定后缀的文件
 9  * Created by coolkid on 2015/6/13 0013.
10  */
11
12 public class DeleteSuffix {
13     /*默认待删除文件后缀*/
14     private static final String SUFFIX = ".jar";
15
16     protected static Logger logger = Logger.getLogger(DeleteSuffix.class);
17
18     public static void main(String[] args) {
19         /*预处理*/
20         if (null == args || args.length == 0||args.length>2){
21             throw new RuntimeException("命令参数不正确,格式为 java 根路径 后缀");
22         }
23
24         /*根路径*/
25         File rootPathFile = new File(args[0]);
26         if (!rootPathFile.exists()){
27             throw new RuntimeException("路径错误,不存在:"+rootPathFile.getAbsolutePath());
28         }
29         /*待删除后缀*/
30         String suffixCurr = args.length==2?args[1]:SUFFIX;
31
32         deleteSuffixFile(rootPathFile,suffixCurr);
33
34
35     }
36
37     /**
38      * 删除指定后缀的文件
39      * @param rootPathFile 根路径
40      * @param suffixCurr 后缀
41      */
42     private static void deleteSuffixFile(File rootPathFile, String suffixCurr) {
43         if (rootPathFile.isDirectory()){
44             File[] files = rootPathFile.listFiles();
45             for (File tempFile:files){
46                 deleteSuffixFile(tempFile,suffixCurr);
47             }
48         }else {
49             String suffix = rootPathFile.getName().substring(rootPathFile.getName().lastIndexOf("."));
50             if (suffixCurr.equalsIgnoreCase(suffix)){
51                 logger.debug("删除:"+rootPathFile.getAbsolutePath());
52                 rootPathFile.delete();
53             }
54         }
55     }
56 }
时间: 2025-01-10 16:45:56

删除指定目录下的指定后缀文件的相关文章

复制指定目录下的指定文件,并修改后缀名 很重要,也很难!!!

package cn.idcast2; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FilenameFilter; im

Python扫描指定目录下(包括子目录)的文件

扫描指定目录下的文件,或者匹配指定后缀和前缀的函数. 如果要扫描指定目录下的文件,包括子目录,调用scan_files("/export/home/test/") 如果要扫描指定目录下的特定后缀的文件(比如jar包),包括子目录,调用scan_files("/export/home/test/", postfix=".jar") 如果要扫描指定目录下的特定前缀的文件(比如test_xxx.py),包括子目录,调用scan_files("

一个获取指定目录下一定格式的文件名称和文件修改时间并保存为文件的python脚本

摘自:http://blog.csdn.net/forandever/article/details/5711319 一个获取指定目录下一定格式的文件名称和文件修改时间并保存为文件的python脚本 @for&ever 2010-07-03 功能: 获取指定目录下面符合一定规则的文件名称和文件修改时间,并保存到指定的文件中 脚本如下: #!/usr/bin/env python# -*- coding: utf-8 -*- '''Created on 2010-7-2 @author: fore

JAVA之File类-将指定目录下的所有java文件的绝对路径存储到文本文件中

/* * 将指定目录下的所有java文件的绝对路径存储到文本文件中 * 建立一个java列表. * 思路: * 1.对指定目录进行递归 * 2.获取递归过程所有的java文件的路径 * 3.将这些路径存储在集合中 * 4.将集合中的内容写到文本文件 * 注:3,4步骤也可以合并成一个步骤 */ package ioTest.io3; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; imp

shell脚本第二篇——将指定目录下大于200K的文件移动到/tmp下

shell脚本第二篇--将指定目录下大于200K的文件移动到/tmp下 # vim  /tmp/files.sh #!/bin/bash #将指定目录下大于200K的文件移动到/tmp下 read  -p  "请输入您要将目录下大于200K文件移动的目录路径:" $1 for FILE in `ls  $1` do if [ -f  $FILE ] ; then if [ `ls -l $FILE | awk `{print $5}` -gt 204800 ] ; then mv  $

删除指定目录下的指定后缀的文件

1 import java.io.*; 2 import javax.swing.*; 3 public class Delete{ 4 public static void main(String[] args)throws Exception{ 5 String target = JOptionPane.showInputDialog(null,"请输入您要清理垃圾的目录:"); 6 File[] fs = new File(target).listFiles(new Filena

python删除指定目录下的指定文件和文件夹

具体代码: #coding:utf-8import os,sys,platformclass RemoveTagFile(object): path=None def removeFile(self,path,remove_list,retain_list): #path后面要跟/ self.path=path system_test=platform.system() if(system_test=='Windows'): path_last=self.path[-1] if(path_las

【复制指定目录下的指定类型文件,并修改后缀名】

package com.companyname.common.test; import java.io.*; /** * @Description * @Author Created by shusheng. * @Email [email protected] * @Date 2018/12/2 */ public class CopyFolderDemo { public static void main(String[] args) throws IOException { // 封装目录

【C#】递归搜索指定目录下的指定项目(文件或目录)

先别急着喷,请听我解释. 诚然可以使用现成的Directory类下的GetFiles.GetDirectories.GetFileSystemEntries这几个方法实现同样的功能,但请相信我不是蛋疼,原因是这几个方法在遇上[System Volume Information]这种目录时,极有可能会给你个拒绝访问的异常,想跳过都不行.所以没办法,重新实现了一下. 实现说明: - 仍然是基于对Directory类的几个方法的封装进行实现,只是没有使用它们的searchPattern和searchO