时间:2010-07-26 05:57:25

标签: java

5 个答案:

答案 0 :(得分:9)

答案 1 :(得分:4)

使用下面的代码段获取所有子目录中的所有文件:

import java.io.File;

/**
 *
 * @author santoshk
 */
public class ListFiles {

     File mainFolder = new File("F:\\personal");
     public static void main(String[] args)
     {
         ListFiles lf = new ListFiles();
         lf.getFiles(lf.mainFolder);
     }
     public void getFiles(File f){
         File files[];
         if(f.isFile())
             System.out.println(f.getAbsolutePath());
         else{
             files = f.listFiles();
             for (int i = 0; i < files.length; i++) {
                 getFiles(files[i]);
             }
         }
     }
}

答案 2 :(得分:0)

答案 3 :(得分:0)

import java.io.File;
import java.util.ArrayList;
import java.util.LinkedList;


public class FileEnumerator {

    /**
     * @param args
     * @throws IOException 
     */
    public static void main(String[] args) throws IOException {

        // Prepare the List of files
        String path = "C:/";
        ArrayList<String> Files = new ArrayList<String>();
        LinkedList<String> Dir = new LinkedList<String>();
        File f = new File(path);
        Dir.add(f.getAbsolutePath());
        while(!Dir.isEmpty())
        {
            f = new File(Dir.pop());
            if(f.isFile())
            {
                Files.add(f.getAbsolutePath());
            }
            else
            {
                String arr[] = f.list();
                try
                {
                for(int i = 0;i<arr.length;i++)
                {
                    Dir.add(f.getAbsolutePath()+"/"+arr[i]);
                }
                }
                catch(NullPointerException exp)
                {
                    Dir.remove(f.getAbsoluteFile());
                }
            }
        }


                //Print the files
        for(int i = 0;i<Files.size();i++)
        {
            System.out.println(Files.get(i));
        }
    }

}

我认为这段代码应该运行良好。虽然我在Windows上测试过它。但其他操作系统最多只需要很小的改动。

答案 4 :(得分:0)

import java.io.*;

public class filedir 
{
    public static void main(String[] args)
    {
        try{
            Files f = new File("C:\\");//the path required
            String a[];
            a=f.list(); 
            for (int i = 0; i <a.length; i++) {
               System.out.println(a[i]);
              }
        } catch(Exception e) {
            System.err.println(e);
        }
    }
}