import java.io.File; public class ListDemo { public static void main(String[] args) { ListDemo(); } public static void ListDemo() { File dir = new File("F:\"); File[] file = dir.listFiles(); for(File files : file){ System.out.println(files); } } }
上面代码没有指定过滤器,会遍历所有文件包括隐藏的文件
下面定义一个过滤隐藏文件的过滤器
import java.io.File; import java.io.FileFilter; public class FilterBydden implements FileFilter { public boolean accept(File pathname) { //如果是隐藏的就为true return !pathname.isHidden(); } }
import java.io.File; public class ListDemo { public static void main(String[] args) { ListDemo(); } public static void ListDemo() { File dir = new File("F:\"); File[] file = dir.listFiles(new FilterBydden()); for(File files : file){ System.out.println(files); } } }
这里用的是ListFiles()方法,该方法是获取指定目录下的文件,而List()方法是获取指定目录下的文件名
下面定义一个过滤后缀名的过滤器 可以过滤.java文件或.txt文件等等
import java.io.File; import java.io.FilenameFilter; public class SuffixFilter implements FilenameFilter { private String suffix; public SuffixFilter(String suffix) { super(); this.suffix = suffix; } public boolean accept(File dir, String name) { return name.endsWith(suffix); } }
import java.io.File; import com.io.sequenceinputstream.demo.suffixFilter; public class ListDemo { public static void main(String[] args) { ListDemo(); } public static void ListDemo() { File dir = new File("F:\"); File[] file = dir.listFiles(new suffixFilter(".java")); for(File files : file){ System.out.println(files); } } }