devxlogo

Returning the Root Drives

Returning the Root Drives

Question:
Can you tell me how to get the root drives on a system?

Answer:
The 1.0 and 1.1 version of the Java APIs did not include a means ofdetermining the root drives or partitions on a system. During thedevelopment of the Swing APIs, it became clear such a function wasneeded to be able to implement the FileChooser class.Such a feature became available with the Swing 1.1 API in thejavax.swing.filechooser.FileSystemViewclass, which had a getRoots() method that returned an array ofFile instances corresponding to the root drives orpartitions. With the release of the Java 2 Platform, thisfunctionality was moved into the File class in the form of a staticgetRoots() method. The following simple program showshow to use either method to print out the available root file systems:

import java.io.*;import javax.swing.filechooser.*;public class ShowRootDrives {  public static final void printRoots(File[] roots) {    int file;    if(roots == null) {      System.err.println("Could not determine root partitions.
");      return;    }    for(file = 0; file < roots.length; ++file)      System.out.println(roots[file].toString());  }  public static final void main(String[] args) {    FileSystemView view;    // One way is to call File.listRoots() (only in JDK 1.2)    printRoots(File.listRoots());    // Another way is to use javax.swing.filechooser.FileSystemView    // (only in Swing 1.1 or JDK 1.2)    view  = FileSystemView.getFileSystemView();    printRoots(view.getRoots());  }}

See also  5 Ways to Improve Customer Experience
devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist