File對象中的遍歷文件的方法總的來說主要是返回值的區別,有一個返回String字符串的list()方法,還有一個返回File對象的數組的listFile()方法。要不就是兩中方法帶參數的方法,可以對遍歷指定類型的文件,比如.mp3的文件.......對子文件或者子路徑進行篩選,所以還是非常有用的。
返回String的數組
public String[] list()
public String[] list(FilenameFilter filter)
返回File的數組
public File[] listFile()
public File[] listFile(FilenameFilter filter)
這里的FilenameFilter是public interface FilenameFilter實現此接口的類實例可用於過濾器文件名。這里實現了accept(File dir, String name)
的方法,他的兩個參數dir - 被找到的文件所在的目錄。//也就是File對象的路徑。
name - 文件的名稱。//也就是File對象路徑下的所有文件的名稱。
該方法對指定的File子目錄子文件夾進行迭代。如果該方法返回true則list會列出該子目錄或者子文件夾。
public class FileFileTerTest { public static void main(String[] args) { // TODO Auto-generated method stub File file=new File("E://java的jdk//lib"); String[] fileName=file.list(new Fileter()); for (String string : fileName) { System.out.println(string+" "); } } } /** * 實現FilenameFileter的接口,實現進行對文件過濾的方法 * 如果方法返回true則list就會列出該子文件或者子目錄。 * @author 康宸 * */ class Fileter implements FilenameFilter { @Override //name是File中的所有文件或者路徑的名稱,一級的,而dir是File對象的絕對路徑。 public boolean accept(File dir, String name) { // TODO Auto-generated method stub return name.endsWith(".jar") || new File(dir+"//"+name).isDirectory(); } }