文件过滤器
文件过滤器是个接口
FileFilter 接口
FilenameFilter 接口
需要重写这个过滤器的方法
测试过滤器效果
FileFilter
public class Demo {
public static void main(String[] args) {
File file = new File("/Users/s/Desktop/Test");
File[] listFiles file.listFiles(new MyFileFilter());
for(File subFile : listFiles) {
System.out.println(subFile.getName());
}
}
}
class MyFileFilter implements FileFilter{
@Override
public boolean accept(File pathname){
if (pathname.isDirectory()){
return false;
}
return true;
}
}
过滤文件夹,保存文件夹中的.txt文件
public class Demo {
public static void main(String[] args) {
File file = new File("/Users/s/Desktop/Test");
getFile(file);
}
public static void getFile(File file){
File[] listFiles = file.listFiles(new MyFileterTXT());
for (File subFile : listFiles){
if (subFile.isDirectory()){
getFile(subFile);
}else {
System.out.println(subFile.getName());
}
}
}
}
class MyFilterTXT implements FileFilter{
@Override
public boolean accept(File pathname){
if(pathname.isDirectory()){
return true;
}
return pathname.getName().endsWith("txt");
}
}
FilenameFilter
public class Demo {
public static void main(String[] args) {
File file = new File("/Users/s/Desktop/Test");
getFile(file);
}
public static void getFile(File file){
File[] listFiles = file.listFiles(new MyFileNameFilter());
for (File subFile : listFiles){
if (subFile.isDirectory()){
getFile(subFile);
}else {
System.out.println(subFile.getName());
}
}
}
}
class MyFileNameFilter implements FilenameFilter{
@Override
public boolean accept(File dir, String name) {
File file = new File(dir, name);
System.out.println(file);
return false;
}
}
public class Demo {
public static void main(String[] args) {
File file = new File("/Users/s/Desktop/Test");
getFile(file);
}
public static void getFile(File file){
File[] listFiles = file.listFiles(new MyFileNameFilter());
for (File subFile : listFiles){
if (subFile.isDirectory()){
getFile(subFile);
}else {
System.out.println(subFile.getName());
}
}
}
}
class getFileBySize implements FilenameFilter{
@Override
public boolean accept(File dir, String name) {
File file = new File(dir, name);
if (file.isHidden()) {
return false;
}
if (file.isDirectory()) {
return true;
}
return file.length() < 200 * 1024;
}
}
http://blog.csdn.net/ssssssue