Detect the storage device type

From CodeCodex

Implementations[edit]

Java[edit]

javax.swing.filechooser.FileSystemView provides a way to detect the type of a particular device.

import java.io.File;
import java.util.Arrays;
import java.util.List;
import javax.swing.filechooser.FileSystemView;

public class Test2 {
    public static void main(String args[]){
      
      File[] files = File.listRoots();
      for (File f : files) {
        String s = FileSystemView.getFileSystemView().getSystemTypeDescription(f);
        System.out.println("*" + s);
      }
      /* output (French WinXP)

            *Disquette 3½ pouces
            *Disque local
            *Lecteur CD
            *Disque local
      */
    }
}

As you can see the output is localized (from the OS). The following output the name or label of the storage device :

import java.io.File;
import java.util.Arrays;
import java.util.List;
import javax.swing.filechooser.FileSystemView;

public class Test2 {
    public static void main(String args[]){
      
      File[] files = File.listRoots();
      for (File f : files) {
        String s = FileSystemView.getFileSystemView().getSystemDisplayName(f);        
        System.out.println("*" + s);
      }
      /* output (French WinXP)

            *
            *REGA1 (C:)
            *
            *My Book (F:)
      */
      
    }
  }