- Given an input directory or folder, we would like to list all files & folders in a directory.
- We will get current working directory and print all files & folder of input directory in java.
- We will use listFiles method of File class to get all files or folders (of current directory).
- Then, we will print all contents of input directory.
Program – recursively list all files & directories (folders) in java (example)
package org.learn; import java.io.File; public class ListFilesRecursively { public static void main(String[] args) { String currentDirectory = System.getProperty( "user.dir" ); System.out.println( "Listing the files/folders of input directory - " +currentDirectory); //pass the input directory traverseFiles( new File(currentDirectory)); } private static void traverseFiles(File inputFile) { File[] listFiles = inputFile.listFiles(); for (File file: listFiles) { if (file.isDirectory()) { System.out.println( "Directory:" +file.getAbsolutePath()); traverseFiles(file); } else { System.out.println( "File:" +file.getAbsolutePath()); } } } } |
Output – print all files & directories (folders) recursively in java
Listing the files/folders of input directory - c:\data\db Directory:c:\data\db File:c:\data\db\collection- 0 - 2086694220802165662 .wt File:c:\data\db\collection- 103 -- 5255221449412732250 .wt File:c:\data\db\collection- 105 -- 5255221449412732250 .wt File:c:\data\db\collection- 108 -- 5255221449412732250 .wt File:c:\data\db\collection- 110 -- 5255221449412732250 .wt File:c:\data\db\collection- 113 -- 5255221449412732250 .wt File:c:\data\db\collection- 119 -- 5255221449412732250 .wt File:c:\data\db\collection- 121 -- 5255221449412732250 .wt Directory:c:\data\db\diagnostic.data File:c:\data\db\diagnostic.data\metrics. 2016 - 09 -30T12- 42 -56Z- 00000 File:c:\data\db\diagnostic.data\metrics. 2016 - 10 -04T05- 59 -32Z- 00000 File:c:\data\db\diagnostic.data\metrics. 2016 - 10 -06T12- 23 -26Z- 00000 File:c:\data\db\index- 99 -- 5255221449412732250 .wt Directory:c:\data\db\journal File:c:\data\db\journal\WiredTigerLog. 0000000008 File:c:\data\db\journal\WiredTigerPreplog. 0000000001 File:c:\data\db\journal\WiredTigerPreplog. 0000000002 File:c:\data\db\mongod.lock File:c:\data\db\sizeStorer.wt File:c:\data\db\storage.bson File:c:\data\db\WiredTiger File:c:\data\db\WiredTiger.lock File:c:\data\db\WiredTiger.turtle File:c:\data\db\WiredTiger.wt File:c:\data\db\WiredTigerLAS.wt File:c:\data\db\_mdb_catalog.wt |