要用到递归,现在没有现成的代码File f=new File("c:/");File[] ff=f.listFiles();for(int i=0;i<ff.length;i++)
{
if(ff[i].isDirectory()
{
//递归
}
else
{
System.out.println(ff[i].getName());
}}思路是这样,自己再加代码

解决方案 »

  1.   

    public boolean bianli(String path){

    int length;
    String subpath;
    File newfile = new File(path);
    boolean rf = false;

    if(newfile.isDirectory()){
    String filelist[] = newfile.list();
    length = filelist.length;
    for(int i = 0; i < length; i++){
    subpath = path + "\\" + filelist[i];
    rf = rf|bianli(subpath);
    }
    }
    else if(newfile.isFile()){
    System.out.println("\t"+path);
    }
    return rf;
    }
      

  2.   

    try{
    File f=new File("c:/");myfile(f);void myfile(File f){File[] ff=f.listFiles();for(int i=0;i<ff.length;i++)
    {
    if(ff[i].isDirectory()
    {
    System.out.println("directory:"+ff.getName());
    myfile(ff[i]);
    }
    else
    {
    System.out.println("fiel name"+ff[i].getName());
    }}}
    }
    catch(Exception e){}
      

  3.   

    public void listAllFile(String path){
        File file = new File(path);
        if(file.isDirectory()){
            String[] files = file.list();
            for(int i=0;i<files.length;i++){
                listAllFile(files[i]);
            }
        }else{
            System.out.println("Path:"files[i].getPath()+"\tName:"+files[i].getName());
        }
    }
      

  4.   

    中秋节完整无错版,自己给你写了个。。import java.io.*;
    import java.util.*;
    public class f
    {public static void main(String [] args)
    {
    try{
    File f=new File("c:/abc");myfile(f);}
    catch(Exception e){}
    }static void myfile(File f){File[] ff=f.listFiles();for(int i=0;i<ff.length;i++)
    {
    if(ff[i].isDirectory())
    {
    System.out.println("directory:"+ff[i].getPath());
    myfile(ff[i]);
    }
    else
    {
    System.out.println("fiel name:"+ff[i].getPath());
    }}}}
      

  5.   

    import java.io.*;
    import java.awt.*;public class DirList
    {
        public static void main(String args[])
        {
             try
             {
                File fileObj;
                BufferedReader keyreader = new BufferedReader(new InputStreamReader(System.in));
                while(true)
                {
                   System.out.println("Please input the path:");
                   String path = keyreader.readLine();
                   fileObj = new File(path); 
                   if (fileObj.exists())
                   {
                      if (fileObj.isDirectory())
                      {
                         System.out.println(fileObj+" is a Directory!");
                         String dir[] = fileObj.list();
                         System.out.println("In the Directory "+fileObj+" hava: ");
                         for (int i=0; i<dir.length; i++)
                         {
                           
                             System.out.println(dir[i]);
                         }
                         System.out.println("\n");
                      }
                      else 
                      {
                         System.out.println(fileObj+" is a file!"); 
                         System.out.println("The content of "+ fileObj+" is:");
                          RandomAccessFile rf = new RandomAccessFile(fileObj,"r");
                          rf.seek(0);
                          while (rf.getFilePointer() != rf.length())
                          {
                              System.out.println(rf.readLine());
                          }
                      } 
                   }
                    else System.out.println("This file or directory is not exist!"); 
                                   
                 
                 }
            }
            catch (Exception e)
            {
                e.printStackTrace();
            }
        }
    }
      

  6.   

    原创,读取文件目录并且构建成为目录树,记得给分哦
    import java.io.*;
    import javax.swing.JFrame;
    import javax.swing.JTree;
    import javax.swing.tree.DefaultTreeModel;
    import javax.swing.tree.DefaultMutableTreeNode;
    import javax.swing.JScrollPane;
    import java.util.Vector;
    import java.util.ArrayList;
    import java.util.Arrays;
    import javax.swing.JOptionPane;
    import javax.swing.UIManager;
    import java.awt.Font;public class BrowseDir {
      public File file = null;
      static public String filePath = "f:/接收/mp3";
      String tmpFilePath = null;
      JFrame f = null;
      DefaultMutableTreeNode root = null;
      DefaultTreeModel treemodel = null;
      BrowseDir() {
        JTree tree = new JTree();
        Font font = new Font(null,Font.BOLD|Font.ITALIC,12);
        tree.setFont(font);
        tree.setRowHeight(20);
        root = new DefaultMutableTreeNode("文件目录");
        listFile(filePath, root); //生成目录树
        treemodel = new DefaultTreeModel(root);
        tree.setModel(treemodel);
        JScrollPane spn = new JScrollPane(tree);
        System.out.println("OK");
        f = new JFrame("File tree");
        f.getContentPane().add(spn);
        f.setSize(300, 400);
        f.show();    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      }  public static void main(String[] args) {
        try {
          UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        }
        catch(Exception e) {
          e.printStackTrace();
        }    BrowseDir bsd = new BrowseDir();
      }  public String[] listFile(String filepath, DefaultMutableTreeNode treenode) {
        file = new File(filepath);
        if (!file.exists()) {
          System.out.println("file not exists!");
        }
        String[] filenameArray = null;
        filenameArray = file.list();
        filenameArray = sortDir2file(filenameArray, filepath); //文件排序
        for (int i = 0; i < filenameArray.length; i++) {
         //  System.out.println(filenameArray[i]);
          DefaultMutableTreeNode tmpnode = new DefaultMutableTreeNode(filenameArray[
              i]);
          treenode.add(tmpnode);
          tmpFilePath = filepath + File.separator + filenameArray[i];
          File tmpFile = new File(tmpFilePath);
          if (tmpFile.isDirectory()) {
            listFile(tmpFilePath, tmpnode);
          }
          //System.out.println(i);
        }
        return filenameArray;
      }  public String[] sortDir2file(String[] files, String filepath) {
        Vector dir = new Vector();
        Vector file = new Vector();
        String[] dirs = null;
        String[] tfiles = null;
        String fullpath = null;
        File tmpFile = null;
        for (int i = 0; i < files.length; i++) {
          fullpath = filepath + File.separator + files[i];
          tmpFile = new File(fullpath);
          if (tmpFile.isDirectory()) {
            dir.addElement(files[i]);
          }
          else {
            file.addElement(files[i]);
          }
        }
        if (dir.size() > 0) {
          dirs = new String[dir.size()];
          dir.copyInto(dirs);
          Arrays.sort(dirs);
        }
        if (file.size() > 0) {
          tfiles = new String[file.size()];
          file.copyInto(tfiles);
          Arrays.sort(tfiles);
        }
        if (dirs != null && dirs.length > 0) {
          for (int i = 0; i < dirs.length; i++) {
            files[i] = dirs[i];
          }
        }
        if (tfiles != null && tfiles.length > 0) {
          for (int i = 0; i < tfiles.length; i++) {
            if (dirs != null && dirs.length > 0) {
              files[dirs.length + i] = tfiles[i];
            }
            else {
              files[i] = tfiles[i];
            }
          }
        }    return files;
      }}