当前位置:首页 > 开发 > 编程语言 > Java > 正文

Java I/O之用FilenameFilter实现根据文件扩展名删除文件

发表于: 2014-01-12   作者:游其是你   来源:转载   浏览:
摘要: 在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

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

 

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

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

 

Java I/O之用FilenameFilter实现根据文件扩展名删除文件

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
以前写Java读写文件的代码,基本上都是到处拷贝,没有深入研究过。以至于有段时间都搞不清楚,使用
一、系统调用 所谓的系统的调用时操作系统提供给用户程序调用的一组“特殊”接口,用户可以同个接口
先来看一幅图: 说明: ① PrintWriter与FileOutputStream: PrintWriter Prints formatted represen
File file=new File("E:\\aa.jpg"); String fileName=file.getName(); String fileTyle=fileName.su
一、I/O数据结构 内核使用了三种数据结构,他们之间的关系决定了在文件共享方面一个进程对另一个进程
lseek函数原型为int lseek(int fd,int offset, int whence),fd为定位文件的描述符,offset为偏
linux系统调用和用户编程接口(api) 系统调用是指在操作系统提供给用户程序调用的一组“特殊”的接
Core Java第十四章知识点总结——文件与I/O流 知识点预览 File类的使用 IO的分类 字节流 字符流 对
多路复用 函数说明 我们都知道fcntl()函数解决了文件共享的问题,如果不知道请看:http://blog.csdn
一、打开文件内核数据结构 1、一个进程打开两个文件 文件状态标志:读、写、追加、同步、非阻塞等 2
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号