zoukankan      html  css  js  c++  java
  • java 核心编程——文件过滤类(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());
                
            }
        }
    
    }
  • 相关阅读:
    在vs 2012 中使用xna 4.0 做开发!
    MVC如何分离Controller与View在不同的项目?
    Shader Compilation for Multiple Platforms
    文件已损坏,请移至废纸篓的解决办法!
    javascript学习笔记[6]面向对象
    javascript学习笔记[3]流程控制
    [tonyLp]百度地图API开发实践(1)
    javascript学习笔记[7]内建对象
    javascript学习笔记[5]函数(2)
    javascript学习笔记[1]变量
  • 原文地址:https://www.cnblogs.com/wwyx-xi/p/7423599.html
Copyright © 2011-2022 走看看