ในตัวอย่าง เราจะใช้ FilenameFilter เพื่อลิสรายการไฟล์ทั้งหมดที่ลงท้ายด้วย ".txt" ในโฟรเดอร์ "C:\\users\\nopphanan7\\folder", และทำการลบ.
package
demo.file;
import
java.io.*;
public
class
FileChecker {
/**
* @param args
*/
private
static
final
String FILE_DIR =
"C:\\users\\nopphanan7\\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);
if
(dir.isDirectory()==
false
){
System.out.println(
"Directory does not exists : "
+ FILE_DIR);
return
;
}
// 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));
}
}
}
ผลลัพธ์ที่ได้คือ
file : C:\users\nopphanan7\folder\newfile.txt is deleted :
true
ไม่มีความคิดเห็น:
แสดงความคิดเห็น