本文实例为大家分享了文件过滤类FileFilter和FilenameFilter,供大家参考,具体内容如下
1.FileFilter
package test;
import java.io.File;
import java.io.FileFilter;
public class FileFilterTest implements FileFilter {
private String extension;
public FileFilterTest(String extension) {
this.extension = extension;
}
/**
*
*/
@Override
public boolean accept(File pathname) {
if(pathname.isDirectory()){
return false;
}
String name = pathname.getName();
int num = name.lastIndexOf(".");
if(num == -1){
return false;
}
if(name.length()-1 == num){
return false;
} else {
return extension.equals(name.substring(num+1));
}
}
public static void main(String[] args) {
File path = new File("E:\\书籍\\java 编程");
//获得过滤对象
FileFilterTest ft = new FileFilterTest("pdf");
File[] files = path.listFiles(ft);
for (int i = 0; i < files.length; i++) {
System.out.println(files[i].getAbsolutePath());
}
}
}
2.FilenameFilter
package test;
import java.io.File;
import java.io.FilenameFilter;
public class FileNameFilterTest implements FilenameFilter {
//判断图片是否格式是否是 gif
private boolean isGif(String fileName){
if(fileName.toLowerCase().endsWith(".gif")){
return true;
} else {
return false;
}
}
//判断图片是否格式是否是 jpg
private boolean isJpg(String fileName){
if(fileName.toLowerCase().endsWith(".jpg")){
return true;
} else {
return false;
}
}
//判断图片是否格式是否是 png
private boolean isPng(String fileName){
if(fileName.toLowerCase().endsWith(".png")){
return true;
} else {
return false;
}
}
@Override
public boolean accept(File dir, String name) {
return (isGif(name)||isJpg(name)||isPng(name));
}
public static void main(String[] args) {
File path = new File("C:\\img");
//获得过滤对象
FileNameFilterTest ft = new FileNameFilterTest();
File[] f = path.listFiles(ft);
for (int i = 0; i < f.length; i++) {
File file = f[i];
System.out.println(file.getAbsolutePath());
}
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持亿速云。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。