2016-02-26 48 views
0

我正在寫一個應用程序,將文件寫入USB閃存驅動器(通過USB OTG),然後將其從手機中刪除並用於其他地方(僅支持FAT32)。我需要能夠確定外部存儲是否格式正確,如果沒有,我需要告訴用戶。如何確定Android中外部存儲的文件系統類型?

如果我連接FAT32格式化的驅動器,調用安裝在Android的殼僅表示「導火索」作爲文件系統:

/dev/fuse /storage/usbotg fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0 

有沒有一種方法來確定文件系統,通過命令行或編程?

回答

1

你mount命令的列表:

ArrayList<String> listMount = new ArrayList<String>(); 
Process p=null; 

    try { 
     p = Runtime.getRuntime().exec("mount"); 
     BufferedReader in2 = new BufferedReader(new InputStreamReader(p.getInputStream())); 
     String line; 
     while ((line = in2.readLine()) != null) { 
      listMount.add(line); 
     } 
    } catch (Exception e) { 
     // manage exception 
    } 

在listMount有坐騎的輸出。搜索你的/ dev,並檢查這是vfat(文件系統FAT或FAT32)。如果只看到「保險絲」,我相信android只能識別你的設備USB OTG而不是最終的USB。

fuse用於掛載其他文件系統類型,如NTFS。

相關問題