• Java获取一个路径下指定后缀名的所有文件


    方法一:

    http://blog.csdn.net/zjx102938/article/details/8114114

    import java.io.File;  
    import java.util.ArrayList;  
    import java.util.List;  
      
    public class FileFind {  
        public static void main(String[] args) {  
              
            String path = "D:\Test";  
            List data=new ArrayList();  
            data=getData(path, data);  
            for (int i=0;i<data.size();i++) {  
                System.out.println(data.get(i));  
            }  
        }  
      
        private static List getData(String path, List data) {  
      
            File f=new File(path);  
            if (f.isDirectory()) {  
                File[] fs=f.listFiles();  
                for (int i=0;i<fs.length;i++) {  
                    data=getData(fs[i].getPath(), data);  
                }  
            } else if (f.getName().endsWith(".java")) {  
                data.add(f.getName());  
            }  
            return data;  
        }  
    }   
    

      方法二:

    package test;
    
    
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileWriter;
    import java.io.FilenameFilter;
    import java.io.IOException;
    import java.util.ArrayList;
     
    public class SearchSuffixIndir {
    	
    	private static String path = "E:\myeclipse\mirror_parse\WebRoot\mirror";
     
        /**
         *
         * 将给定目录下的及子目录下的 所有的给定后缀名的文件路径打印到一个文件中。
         *
         * 深度遍历该父目录,将符合条件的文件路径存到集合中。(进行过滤)。
         *
         * 再将集合写到文件中。
         *
         *
         */
        public static void main(String[] args) {
             
            File dir = new File(path);
             
            File file = new File(dir,"suffix.txt");
            //内部类
            FilenameFilter searchSuffix = new FilenameFilter(){
                @Override
                public boolean accept(File dir, String name) {
                    return name.endsWith(".html");         
                }
            };
             
            ArrayList<File> path = new ArrayList<File>();
                 
            writeToArr(dir,searchSuffix,path);
            writeTofile(path,file);
        }
     
        private static void writeTofile(ArrayList<File> al, File file) {
            BufferedWriter bw = null;
            try {
                bw = new BufferedWriter(new FileWriter(file));
                 
                for(File f: al){
                    new String();
    //              bw.write(String.valueOf(f.length()));
                    bw.write(f.getAbsolutePath());
                    bw.newLine();
                    bw.flush();
                }
            } catch (IOException e) {
                throw new RuntimeException("写入失败!");
            }finally{
                if(bw != null)
                    try {
                        bw.close();
                    } catch (IOException e) {
                        throw new RuntimeException("关闭失败!");
                    }
            }
             
        }
     
        public static void writeToArr(File dir, FilenameFilter searchSuffix, ArrayList<File> al) {
             
            File []files = dir.listFiles();
            for(File f : files){
                if(f.isDirectory()){
                    //递归了。
                    writeToArr(f, searchSuffix, al);  
                }else{
                    if(searchSuffix.accept(dir, f.getName())){
                    	System.out.println(f);
                        al.add(f);
                    }
                }
            }
        }
         
         
         
     
    }
    

      

  • 相关阅读:
    MSP430F149学习之路——蓝牙模块
    MSP430F149学习之路——SPI
    MSP430推荐网站
    MSP430F149学习之路——UART
    MSP430F149学习之路——比较器Comparaor_A
    MSP430F149学习之路——PWM信号
    MSP430F149学习之路——捕获/比较模式
    MSP430F149学习之路——时钟1
    CUDA学习笔记(三)——CUDA内存
    CUDA学习笔记(一)——CUDA编程模型
  • 原文地址:https://www.cnblogs.com/a757956132/p/4817847.html
Copyright © 2020-2023  润新知