zoukankan      html  css  js  c++  java
  • 将一个文件夹中的所有含有某个后缀的文件写进一个文件里面

    package test;
     
     
    import java.io.*;
    import java.text.DateFormat;
    import java.text.SimpleDateFormat;
    import java.util.*;
    import java.util.zip.InflaterInputStream;
     
    import javax.annotation.processing.FilerException;
    import javax.management.RuntimeErrorException;
    
    import privateclass.Filterby_Name;
    import privateclass.Filterby_hidden;
    import privateclass.Filterby_java;
    import privateclass.MyBufferedReader;
     
    public class Main {
     
        private static final String space_operator = " ";
        private static final double pi = Math.PI;
        private static final String LINE_SEPARATOR = System.getProperty("line.separator");
        public static void main(String[] args) throws Exception {
     
        	/*
        	 *找出文件夹中是java后缀的文件,并将文件存入到Myjava里面
        	 */
        	List<File> list = new ArrayList<File>();
        	
        	//注意这个需要自己创建一个过滤器
        	Filterby_Name filterby_Name = new Filterby_Name(".txt");
        	FilenameFilter filter = new FilenameFilter() {
    			
    			@Override
    			public boolean accept(File dir, String name) {
    				// TODO Auto-generated method stub
    				return name.endsWith(".java");
    			}
    		};
    		File file = new File("D:\java总结");
    		File endFile = new File("Mytxt.txt");
        	dfsall(file, filterby_Name, list);
        	writetoMyjava(list,endFile);
        }
        
        /**
         * 深层遍历一个文件夹
         * 将文件夹中java文件写进list里面
         * @param list
         * @param endFile
         * @throws IOException
         */
    	public static void writetoMyjava(List<File> list,File endFile) throws IOException {
    		
    		BufferedWriter bfw = new BufferedWriter(new FileWriter(endFile));
    		for(File file : list)
    		{
    			bfw.write(file.getAbsolutePath());
    			bfw.newLine();
    			bfw.flush();
    		}
    		bfw.close();
    	}
    	/**
    	 * 将list里面的java文件直接传送给Filewriter
    	 * 读进自己想要存进的文件中去
    	 * @param dir
    	 * @param filter
    	 * @param list
    	 */
    	public static void dfsall(File dir,FilenameFilter filter,List<File> list) {
    		
    		for(File file : dir.listFiles())
    		{
    			if(file.isDirectory())
    			{
    				dfsall(file, filter, list);
    			}
    			else 
    			{
    				if(filter.accept(file, file.getName()))
    				{
    					list.add(file);
    				}
    			}
    		}
    		
    	}
    	
    }
    
    
    
    
    过滤器
    package privateclass;
    
    import java.io.File;
    import java.io.FilenameFilter;
    
    public class Filterby_Name implements FilenameFilter {
    
    	
    	private String suffix;
    	
    
    	public Filterby_Name(String suffix) {
    		super();
    		this.suffix = suffix;
    	}
    	
    	@Override
    	public boolean accept(File dir, String name) {
    		
    		return name.endsWith(suffix);
    	}
    }
    

      

  • 相关阅读:
    剑指offer:二进制中1的个数
    剑指offer:反转链表
    剑指offer:链表中倒数第k个结点
    剑指offer:调整数组顺序使奇数位于偶数前面
    剑指offer:矩形覆盖
    剑指offer:变态跳台阶
    剑指offer :跳台阶
    剑指offer:旋转数组的最小数字
    剑指offer:用两个栈实现队列
    剑指offer:重建二叉树
  • 原文地址:https://www.cnblogs.com/WINDZLY/p/11823595.html
Copyright © 2011-2022 走看看