Trouver le type de lecteur avec JNA

Aller en bas

Trouver le type de lecteur avec JNA Empty Trouver le type de lecteur avec JNA

Message  Gus le Mer 9 Jan - 23:11

J'ai trouvé une fonction dans la classe com.sun.jna.platform.win32.Kernel32 (jar: jna-plateform.jar)
qui permet de trouver le type de chaque lecteur parmi 7 valeurs possibles :
Code:
import java.io.File;
import com.sun.jna.platform.win32.Kernel32;

public class DriveType {

   public static void main(String[] args)
   {
      File[] roots = File.listRoots();
      for(int i=0;i<roots.length;i++)
      printDriveType(roots[i].getAbsolutePath());
   }

   private static void printDriveType(String drive)
   {
      int type = Kernel32.INSTANCE.GetDriveType(drive);
      System.out.println("Drive "+drive+": "+toString(type));
   }

   public static final int DRIVE_UNKNOWN = 0;
   //The drive type cannot be determined.
   public static final int DRIVE_NO_ROOT_DIR = 1;
   //The root path is invalid; for example, there is no volume mounted at the specified path.
   public static final int DRIVE_REMOVABLE = 2;
   //The drive has removable media; for example, a floppy drive, thumb drive, or flash card reader.
   public static final int DRIVE_FIXED = 3;
   //The drive has fixed media; for example, a hard disk drive or flash drive.
   public static final int DRIVE_REMOTE = 4;
   //The drive is a remote (network) drive.
   public static final int DRIVE_CDROM = 5;
   //The drive is a CD-ROM drive.
   public static final int DRIVE_RAMDISK = 6;
   //The drive is a RAM disk.
   
   
   private static String toString(int type)
   {
      switch(type) {
      case DRIVE_UNKNOWN:return "UNKNOWN";
      case DRIVE_NO_ROOT_DIR:return "UNAVAILABLE";
      case DRIVE_REMOVABLE:return "REMOVABLE";
      case DRIVE_FIXED:return "FIXED";
      case DRIVE_REMOTE:return "REMOTE";
      case DRIVE_CDROM:return "CDROM";
      case DRIVE_RAMDISK:return "RAMDISK";
      default: return "?";
      }
   }   
}

Gus
Gus
Admin

Messages : 249
Date d'inscription : 01/09/2009

Voir le profil de l'utilisateur http://www.gus05.com

Revenir en haut Aller en bas

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum