DEV Community

Saravanan Lakshmanan
Saravanan Lakshmanan

Posted on

Java Learning Series - Exploring Java File Class: Listing Files and Folders

Today, I explored Java File class and created the mini task using it's methods.

import java.io.File;
import java.io.IOException;

public class FileList {

    public static void main(String[] args){
        File file = new File("/home/saravanan/FullStack/front-end/Back-end/Java");
        File[] files = file.listFiles();
            System.out.println();
            System.out.println(files); //tried to print the entire Objects in an Array
            System.out.println();
            System.out.println("List of Files: ");
            System.out.println();

        for(File obj : files){
            boolean fileStatus = obj.isFile();
//          boolean folderStatus = obj.isDirectory();
            if(fileStatus){
                System.out.println("File Name: " + obj.getName());
                System.out.println("Path : " + obj.getPath());
                System.out.println("Absolute Path : " + obj.getAbsolutePath());
                try{
                System.out.println("Canonical Path : " + obj.getCanonicalPath());
                }catch(IOException io){
                    System.out.println("Canonical Path Error");
                }
                System.out.println("File Length: " + obj.length());
                System.out.println();
            }

//            if(folderStatus){
//                System.out.println(obj.getName());
//            }

        }
            System.out.println();
            System.out.println("List of Folders: ");
            System.out.println();

        for(int i = 0; i<files.length; i++){
            boolean folderStatus = files[i].isDirectory();
        if(folderStatus){
            System.out.println("Folder Name: " + files[i].getName());
            System.out.println("Path : " + files[i].getPath());
            System.out.println("Absolute Path : " + files[i].getAbsolutePath());
            try{
                System.out.println("Canonical Path: " + files[i].getCanonicalPath());
                }catch(IOException io){
                    System.out.println("Canonical Path Error");
                }
            System.out.println("Folder Length: " + files[i].length());
            System.out.println();
        }
        }
    }

}
Enter fullscreen mode Exit fullscreen mode

Output:

[Ljava.io.File;@2a139a55

List of Files: 

File Name: Customers.class
Path : /home/saravanan/FullStack/front-end/Back-end/Java/Customers.class
Absolute Path : /home/saravanan/FullStack/front-end/Back-end/Java/Customers.class
Canonical Path : /home/saravanan/FullStack/front-end/Back-end/Java/Customers.class
File Length: 530

File Name: Student.class
Path : /home/saravanan/FullStack/front-end/Back-end/Java/Student.class
Absolute Path : /home/saravanan/FullStack/front-end/Back-end/Java/Student.class
Canonical Path : /home/saravanan/FullStack/front-end/Back-end/Java/Student.class
File Length: 902

File Name: FileList.java
Path : /home/saravanan/FullStack/front-end/Back-end/Java/FileList.java
Absolute Path : /home/saravanan/FullStack/front-end/Back-end/Java/FileList.java
Canonical Path : /home/saravanan/FullStack/front-end/Back-end/Java/FileList.java
File Length: 2150

File Name: Student.java
Path : /home/saravanan/FullStack/front-end/Back-end/Java/Student.java
Absolute Path : /home/saravanan/FullStack/front-end/Back-end/Java/Student.java
Canonical Path : /home/saravanan/FullStack/front-end/Back-end/Java/Student.java
File Length: 1094

File Name: SuperMarket.java
Path : /home/saravanan/FullStack/front-end/Back-end/Java/SuperMarket.java
Absolute Path : /home/saravanan/FullStack/front-end/Back-end/Java/SuperMarket.java
Canonical Path : /home/saravanan/FullStack/front-end/Back-end/Java/SuperMarket.java
File Length: 1210

File Name: Customers.java
Path : /home/saravanan/FullStack/front-end/Back-end/Java/Customers.java
Absolute Path : /home/saravanan/FullStack/front-end/Back-end/Java/Customers.java
Canonical Path : /home/saravanan/FullStack/front-end/Back-end/Java/Customers.java
File Length: 377

File Name: Grt.java
Path : /home/saravanan/FullStack/front-end/Back-end/Java/Grt.java
Absolute Path : /home/saravanan/FullStack/front-end/Back-end/Java/Grt.java
Canonical Path : /home/saravanan/FullStack/front-end/Back-end/Java/Grt.java
File Length: 504

File Name: StudentService.java
Path : /home/saravanan/FullStack/front-end/Back-end/Java/StudentService.java
Absolute Path : /home/saravanan/FullStack/front-end/Back-end/Java/StudentService.java
Canonical Path : /home/saravanan/FullStack/front-end/Back-end/Java/StudentService.java
File Length: 1497


List of Folders: 

Folder Name: Pro1
Path : /home/saravanan/FullStack/front-end/Back-end/Java/Pro1
Absolute Path : /home/saravanan/FullStack/front-end/Back-end/Java/Pro1
Canonical Path: /home/saravanan/FullStack/front-end/Back-end/Java/Pro1
Folder Length: 4096

Folder Name: Pro2
Path : /home/saravanan/FullStack/front-end/Back-end/Java/Pro2
Absolute Path : /home/saravanan/FullStack/front-end/Back-end/Java/Pro2
Canonical Path: /home/saravanan/FullStack/front-end/Back-end/Java/Pro2
Folder Length: 4096

Folder Name: Inheritance-Method_Overriding
Path : /home/saravanan/FullStack/front-end/Back-end/Java/Inheritance-Method_Overriding
Absolute Path : /home/saravanan/FullStack/front-end/Back-end/Java/Inheritance-Method_Overriding
Canonical Path: /home/saravanan/FullStack/front-end/Back-end/Java/Inheritance-Method_Overriding
Folder Length: 4096

Folder Name: StudentManagementSystem
Path : /home/saravanan/FullStack/front-end/Back-end/Java/StudentManagementSystem
Absolute Path : /home/saravanan/FullStack/front-end/Back-end/Java/StudentManagementSystem
Canonical Path: /home/saravanan/FullStack/front-end/Back-end/Java/StudentManagementSystem
Folder Length: 4096

Folder Name: ProductManagementSystem
Path : /home/saravanan/FullStack/front-end/Back-end/Java/ProductManagementSystem
Absolute Path : /home/saravanan/FullStack/front-end/Back-end/Java/ProductManagementSystem
Canonical Path: /home/saravanan/FullStack/front-end/Back-end/Java/ProductManagementSystem
Folder Length: 4096


Enter fullscreen mode Exit fullscreen mode

Top comments (0)