2010-06-05 23 views
7

Java'da, sistemdeki tüm sürücüleri almak için File.listRoots()'u kullanabilirsiniz.Harici sürücüleri numaralandırma

Ben vs. sadece harici sürücüleri yani USB sürücüleri, harici sabit diskler, optik sürücüler, disket,

java bunu yapmak için herhangi bir yolu var mı almak arıyorum? Değilse, yerel C++ kodu da iyi olurdu. Bu durumda, hem Windows hem de Linux koduna ihtiyacım var.

+0

Yazılım, sürücünün nasıl takıldığını nasıl anlayacak? Birincil fiziksel sürücü hariç tüm sürücüler dahili veya harici olarak monte edilebilir. Muhtemelen harici bir CD'den önyükleme yapmanın ve herhangi bir sürücü olmadan bir harici sürücüye erişmenin bir yolu vardır. –

cevap

12

dosya sistemi hakkında bilgi almak için, böyle bir şey kullanın: Ayrıca

import java.io.*; 
import javax.swing.filechooser.*; 

public class DriveTypeInfo 
{ 
    public static void main(String[] args) 
    { 
     System.out.println("File system roots returned by FileSystemView.getFileSystemView():"); 
     FileSystemView fsv = FileSystemView.getFileSystemView(); 
     File[] roots = fsv.getRoots(); 
     for (int i = 0; i < roots.length; i++) 
     { 
     System.out.println("Root: " + roots[i]); 
     } 

     System.out.println("Home directory: " + fsv.getHomeDirectory()); 

     System.out.println("File system roots returned by File.listRoots():"); 

     File[] f = File.listRoots(); 
     for (int i = 0; i < f.length; i++) 
     { 
     System.out.println("Drive: " + f[i]); 
     System.out.println("Display name: " + fsv.getSystemDisplayName(f[i])); 
     System.out.println("Is drive: " + fsv.isDrive(f[i])); 
     System.out.println("Is floppy: " + fsv.isFloppyDrive(f[i])); 
     System.out.println("Readable: " + f[i].canRead()); 
     System.out.println("Writable: " + f[i].canWrite()); 
     } 
    } 
} 

this, this ve this sorularına bakın.

+0

Bir sürücünün dahili veya harici olması durumunda hala yanıt vermiyor –