Home | JSP | EJB | JDBC | Java Servlets | WAP  | Free JSP Hosting  | Spring Framework | Web Services | BioInformatics | Java Server Faces | Jboss 3.0 tutorial | Hibernate 3.0 | XML

Tutorial Categories: Ajax | Articles | JSP | Bioinformatics | Database | Free Books | Hibernate | J2EE | J2ME | Java | JavaScript | JDBC | JMS | Linux | MS Technology | PHP | RMI | Web-Services | Servlets | Struts | UML


 

Java Tutorials


 

 

Struts Tutorials

Struts Resources

Visit Forum! Post Questions!
Jobs At RoseIndia.net!

Java Notes

Example - Recursive List

Here is an example of listing files and directories recursively.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  1 
  2 
  3 
  4 
  5 
  6 
  7 
  8 
  9 
 10 
 11 
 12 
 13 
 14 
 15 
 16 
 17 
 18 
 19 
 20 
 21 
 22 
 23 
 24 
 25 
 26 
 27 
 28 
 29 
 30 
 31 
 32 
 33 
 34 
 35 
 36 
 37 
 38 
 39 
 40 
 41 
 42 
 43 
 44 
 45 
 46 
 47 
 48 
 49 
 50 
 51 
 52 
// RecusiveList -- Recursively list directories and files
// Fred Swartz 1997-08-06 (Bangkok, Thailand)
//     revised 2000-10-31 (Rota, Spain)
//     revised 2006-02-01 (Rodenbach, Germany)

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

public class RecursiveList {
    static final int      MAX_DEPTH = 20;  // max 20 levels (directory nesting)
    static final String[] indent   = new String[MAX_DEPTH]; // array of indents.
    static final String   INDENT_STRING = "   ";             // single indent.

    //===================================================================== main
    public static void main(String[] args) {
        //... Initialize array of blank indentation amounts.
        indent[0] = "";
        for (int i = 1; i < indent.length; i++) {
           indent[i] = indent[i-1] + INDENT_STRING;
        }

        System.out.println("Enter the name of a directory for recustive listing.");
        Scanner in = new Scanner(System.in);

        while (in.hasNext()) {
            String root = in.next();
            File start = new File(root);
            if (start != null && start.isDirectory()) {
                listRecursively(start, 0);
            } else {
                System.out.println("Not a directory: " + root);
            }
        }
    }


    //========================================================== listRecursively
    public static void listRecursively(File fileOrDir, int depth) {
        System.out.println(indent[depth] + fileOrDir.getName()); // print it

        if (fileOrDir.isDirectory()  && depth <= MAX_DEPTH) {

            File[] dirContents = fileOrDir.listFiles(); // List of files/dirs.
            Arrays.sort(dirContents);

            for (File f : dirContents) {
                listRecursively(f, depth+1); // Recursively list.
            }
        }
    }

}
Ask programming questions?

 

 

Add This Tutorial To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 

Current Comments

0 comments so far (post your own) View All Comments Latest 10 Comments:
  JDO Tutorials
  EAI Articles
  Struts Tutorials
  Java Tutorials
  Java Certification

Tell A Friend
Your Friend Name

 

 
Browse all Java Tutorials
Java JSP Struts Servlets Hibernate XML
Ajax JDBC EJB MySQL JavaScript JSF
Maven2 Tutorial JEE5 Tutorial Java Threading Tutorial Photoshop Tutorials Linux Technology
Technology Revolutions Eclipse Spring Tutorial Bioinformatics Tutorials Tools SQL
 

Home | JSP | EJB | JDBC | Java Servlets | WAP  | Free JSP Hosting  | Search Engine | News Archive | Jboss 3.0 tutorial | Free Linux CD's | Forum | Blogs

About Us | Advertising On RoseIndia.net  | Site Map

India News

Send your comments, Suggestions or Queries regarding this site at roseindia_net@yahoo.com.

Copyright 2007. All rights reserved.

[an error occurred while processing this directive]