Java Example: List all Files from a Directory (or Subdirectory)

June 15, 2012 | By

This is a basic algorithm, but it can be very useful in some situations and very hand for those that are learning Java.

files Java Example: List all Files from a Directory (or Subdirectory)

The class bellow contains 4 methods:

  1. the first one will list all the files and folder names under a directory
  2. the second one will list all the file names under a directory
  3. the third one will list all the folder names under a directory
  4. the fourth one will list all the files from the directory and its sub-directories (be carefull with this one!)

Following is the code:

package com.loiane.util;

import java.io.File;

/**
 * Contains some methods to list files and folders from a directory
 *
 * @author Loiane Groner
 * http://loiane.com (Portuguese)
 * http://loianegroner.com (English)
 */
public class ListFilesUtil {

	/**
	 * List all the files and folders from a directory
	 * @param directoryName to be listed
	 */
	public void listFilesAndFolders(String directoryName){

		File directory = new File(directoryName);

		//get all the files from a directory
		File[] fList = directory.listFiles();

		for (File file : fList){
			System.out.println(file.getName());
		}
	}

	/**
	 * List all the files under a directory
	 * @param directoryName to be listed
	 */
	public void listFiles(String directoryName){

		File directory = new File(directoryName);

		//get all the files from a directory
		File[] fList = directory.listFiles();

		for (File file : fList){
			if (file.isFile()){
				System.out.println(file.getName());
			}
		}
	}

	/**
	 * List all the folder under a directory
	 * @param directoryName to be listed
	 */
	public void listFolders(String directoryName){

		File directory = new File(directoryName);

		//get all the files from a directory
		File[] fList = directory.listFiles();

		for (File file : fList){
			if (file.isDirectory()){
				System.out.println(file.getName());
			}
		}
	}

	/**
	 * List all files from a directory and its subdirectories
	 * @param directoryName to be listed
	 */
	public void listFilesAndFilesSubDirectories(String directoryName){

		File directory = new File(directoryName);

		//get all the files from a directory
		File[] fList = directory.listFiles();

		for (File file : fList){
			if (file.isFile()){
				System.out.println(file.getAbsolutePath());
			} else if (file.isDirectory()){
				listFilesAndFilesSubDirectories(file.getAbsolutePath());
			}
		}
	}

	public static void main (String[] args){

		ListFilesUtil listFilesUtil = new ListFilesUtil();

		final String directoryLinuxMac ="/Users/loiane/test";

		//Windows directory example
		final String directoryWindows ="C://test";

		listFilesUtil.listFiles(directoryLinuxMac);
	}
}

Happy Coding! icon smile Java Example: List all Files from a Directory (or Subdirectory)

Filed in: Java | Tags: , ,

Comments (1)

  1. Good code, but I always prefer to use an already made, well tested and with tons of utilities, libraries like Apache Commons IO:

    http://commons.apache.org/io/api-release/org/apache/commons/io/FileUtils.html