zoukankan      html  css  js  c++  java
  • 遍历指定目录的源代码(包括子目录)

    很简单的代码,只是遍历目录,然后将所有的文件(不包括目录)名(含绝对路径)放到一个ArrayList中,最后打印该ArrayList。 

    不过在这个基础上可以开发很多有用的东西,本代码关键是演示如何遍历的: 
    /*
    * FileManager.java
    *
    */

    package cn.com.jointforce.common;

    import java.io.*;
    import java.util.*;

    /**
    *
    @author Eric
    */
    public class FileManager {
        
        
    /** Creates a new instance of FileManager */
        
    public FileManager() {
        }
        
        
    // All files container
        public ArrayList fileContainer = new ArrayList();
        
        
    /**
         * Kernel function, using recursion
         
    */
        
    public void searchFiles(String dir) {
            File root 
    = new File(dir);
            File[] file_array 
    = root.listFiles();
            
            
    for (int i=0; i<file_array.length; i++) {
                
    if (file_array[i].isDirectory()) {
                    searchFiles(file_array[i].getAbsolutePath());
                } 
    else {
                    fileContainer.add(file_array[i].getAbsolutePath());
                }
            }
        }
            
        
    /**
         * Main function
         
    */
        
    public static void main(String[] args) {
            FileManager fm 
    = new FileManager();
            fm.searchFiles(
    "D:\\JointForce");
            
    int file_number = fm.fileContainer.size();
            System.out.println(
    "Found " + file_number + " files...");
            
    for (int i=0; i<file_number; i++) {
                System.out.println((String)fm.fileContainer.get(i));
            }
        }
    }
  • 相关阅读:
    学习笔记 之《一线架构师实践》
    Java 面试汇总
    C++11移动语义之一(基本概念)
    C++中的RAII介绍
    Qt自定义控件之可伸缩组合框(GroupBox)控件
    redis集群中的增删查改
    redis设置密码
    Linux安装部署FTP服务器
    SSM + MySQL批量删除操作
    SSM
  • 原文地址:https://www.cnblogs.com/super119/p/1924537.html
Copyright © 2011-2022 走看看