zoukankan      html  css  js  c++  java
  • Java实现读取文件夹下(包括子目录)所有文件的文件名

    在编程的过程中,经常会用到对文件的读写操作等。比如,找出某一个文件夹下的所有文件名等。


    下面的程序给出了,获取某一给定文件夹下所有文件的绝对路径的程序。可以作为某一个模块,在需要的时候直接使用。

    package src;  
    import java.io.BufferedWriter;
    import java.io.File; 
    import java.io.FileOutputStream; 
    import java.io.IOException; 
    import java.io.OutputStreamWriter;
    import java.util.Vector;
      public class FileList {  
     	private String dir_name=null;   
    	private String list_name=null;   
    	private BufferedWriter out = null;  
     	Vector<String> ver=null;  
        
    	public FileList(String dir_name,String list_name) throws IOException{
         		this.dir_name=dir_name;  //文件夹地址
         		this.list_name=list_name;  //保存文件列表的文件地址
         		ver=new Vector<String>();  //用做堆栈
       	}
        	public void getList() throws Exception{
         		out = new BufferedWriter(new OutputStreamWriter(
    		new FileOutputStream(list_name, true)));  //以追加的方式写入到指定的文件	
         		ver.add(dir_name);
         		while(ver.size()>0){
           		File[] files = new File(ver.get(0).toString()).listFiles();  //获取该文件夹下所有的文件(夹)名
           		ver.remove(0);
                  	int len=files.length;
           		for(int i=0;i<len;i++){ 
            		String tmp=files[i].getAbsolutePath();
    		         if(files[i].isDirectory())  //如果是目录,则加入队列。以便进行后续处理
    		           ver.add(tmp); 
    		        else
    	                     out.write(tmp+"
    ");    //如果是文件,则直接输出文件名到指定的文件。
    		} 
    	} 
    	out.close(); 
    	 } 
    } 
  • 相关阅读:
    jmap、jhat、jstat、jstack
    jconsole、java VisualVM、jprofiler
    最长递增子序列 dp
    我的眼泪流下来
    理解二级指针的好例子
    离散数学复习————二元关系
    linux的常用命令
    初学Java
    分治法 ----归并排序
    1074 Reversing Linked List
  • 原文地址:https://www.cnblogs.com/jym-sunshine/p/5853679.html
Copyright © 2011-2022 走看看