?? dirfilter.java
字號:
//【例9.7】 帶過濾器的文件名列表。
import java.io.*;
public class DirFilter implements FilenameFilter
{
private String prefix; //文件名前綴
private String extend; //文件擴(kuò)展名
public DirFilter(String filterstr)
{
this.prefix = "";
this.extend = "";
filterstr = filterstr.toLowerCase();
int i = filterstr.indexOf('*');
if (i>0)
this.prefix = filterstr.substring(0,i); //獲得*之前的字符串
int j = filterstr.indexOf('.');
if (j>0)
{
this.extend = filterstr.substring(j+1); //獲得.之后的文件擴(kuò)展名字符串
if (this.extend.equals("*")) //識別"*.*"
this.extend = "";
}
File dir = new File(".",""); //當(dāng)前目錄
System.out.println(dir.getAbsolutePath()+"目錄中,"+filterstr+"文件如下: ");
String[] filenames = dir.list(this); //獲得指定目錄中帶過濾器的文件名列表
for (i=0;i<filenames.length;i++)
System.out.println(filenames[i]);
}
public DirFilter()
{
this("*.*");
}
public boolean accept(File dir, String filename)
{
filename = filename.toLowerCase();
return (filename.startsWith(this.prefix)) & (filename.endsWith(this.extend));
}
public static void main(String args[])
{
new DirFilter("*.java");
// new DirFilter(); //沒有參數(shù)或"*.*"都表示所有文件
}
}
/*
程序運(yùn)行結(jié)果如下:
C:\myjava\.目錄中,*.java文件如下:
DirFilter.java
FileList.java
C:\myjava\.目錄中,*.*文件如下:
DirFilter.class
DirFilter.java
DirFilter.txt
FileList.class
FileList.java
FileList.txt
java2.bat
mypackage
*/
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -