Projet gus05 de développement Java
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

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 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

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