您的位置:首页 > 编程语言 > Java开发

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

2014-01-11 23:43 585 查看
在Java中,你可以通过实现FilenameFilter类并重写accept(Filedir,Stringname)方法实现文件过滤功能。

在这个例子中,我们向你展示在“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
StringFILE_DIR=
"c:\\folder"
;


private
static
final
StringFILE_TEXT_EXT=
".txt"
;




public
static
void
main(Stringargs[]){


new
FileChecker().deleteFile(FILE_DIR,FILE_TEXT_EXT);


}




public
void
deleteFile(Stringfolder,Stringext){




GenericExtFilterfilter=
new
GenericExtFilter(ext);


Filedir=
new
File(folder);




//listoutallthefilenamewith.txtextension


String[]list=dir.list(filter);




if
(list.length==
0
)
return
;




FilefileDelete;




for
(Stringfile:list){


Stringtemp=
new
StringBuffer(FILE_DIR)


.append(File.separator)


.append(file).toString();


fileDelete=
new
File(temp);


boolean
isdeleted=fileDelete.delete();


System.out.println(
"file:"
+temp+
"isdeleted:"
+isdeleted);


}


}




//innerclass,genericextensionfilter


public
class
GenericExtFilter
implements
FilenameFilter{




private
Stringext;




public
GenericExtFilter(Stringext){


this
.ext=ext;


}




public
boolean
accept(Filedir,Stringname){


return
(name.endsWith(ext));


}


}

}

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


更多原创内容,请访问:http://www.it161.com/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: