论坛首页 编程语言技术论坛

读取显示当前目录下的文件及目录-java io

浏览 5215 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-09-19  

很简单的一个需求,要求读取当前目录下所有的文件和目录,并显示出来。将实现记录下来,以备需要时参考。

下面时具体的实现

 

/**
 * 读取当前目录下的文件路径
 *  
 * @author 
 * @since jdk1.4.2
 * @version 1.0
 * @date 2007-06-30
 * 
 */
public class ViewDirsAndFiles {
    private static String listFileStr = "";
    private static int dirNumber = 0;
    private static int fileNumber = 0;
	
    private static String dirNumberString = "** 当前目录下的目录数:";
		
    public static void main(String[] args) {
        try{
            File saveFile = new File(args[1]);
            FileWriter fw = new FileWriter(saveFile);
			
            ViewDirsAndFiles lf = new ViewDirsAndFiles();
            lf.listFile(args[0]);
			
            String dirNumberLine = dirNumberString += dirNumber + "\r\n";
            String allWriterContent = dirNumberLine + listFileStr;
			
            //String fileNumberLine = fileNumberString += fileNumber + "\r\n\r\n";
           //String allWriterContent = dirNumberLine + fileNumberLine + listFileStr;
			
           fw.write(allWriterContent);
           fw.close();
			
           System.out.print("\r\n" + dirNumberLine);
           //System.out.print(fileNumberLine);
			
    }catch (ArrayIndexOutOfBoundsException aiobe) {
        //参数提示
     //System.out.println("## Usage: ListFiles <source dir> <target file>");
        System.out.println("## 用法: java  org.snailheart.util.ViewDirsAndFiles " +"<当前目录> <目标文件>");
			
    }catch (IOException ioe) {
        System.out.println("## IO error!\r\n" + ioe.toString());
    }
}
	
    /**
     * 获取目录下的所有文件的绝对路径
   * @param currDir	要查询的目录名
   */
    public void listFile(String currDir) {
        File file = new File(currDir);
        File[] list = file.listFiles();
		
        for(int i = 0;i < list.length;i++) {
	try{ 
	    if (list[i].isDirectory()){	//是否是目录
	       new ViewDirsAndFiles().listFile(list[i].toString());
					dirNumber++;
				
	    }else {
	        listFileStr += list[i].getAbsolutePath() + "\r\n";
	        //System.out.println(list[i].getAbsolutePath());
				
	       fileNumber++;
				}
	}catch (Exception ex) {
	    listFileStr += "Access deny:" + list[i].getAbsolutePath() + "\r\n";
	    System.out.println("Access deny:" + list[i].getAbsolutePath());
	}
        }		
    }

}

 

论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics