How to check the type of sdcard's filesystem?
For example, in Windows we can see NTFS, FAT32, exFAT, etc.
Thanks in advance.
One solution is to run the mount command then do some string processing on the result:
try{ Process mount = Runtime.getRuntime().exec("mount"); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(mount.getInputStream())); mount.waitFor(); String extPath = Environment.getExternalStorageDirectory().getAbsolutePath(); String line; while ((line = bufferedReader.readLine()) != null) { String[] split = line.split("\s+"); for(int i = 0; i < split.length - 1; i++) { if(split[i].contentEquals(extPath) || split[i].contains("sdcard") || split[i].contains("_sd") || split[i].contains("extSd") || split[i].contains("_SD")) // Add wildcards to match against here { String strMount = split[i]; String strFileSystem = split[i+1]; // Add to a list/array of mount points and file systems here... Log.i("SDCard", "mount point: "+ strMount + " file system: " + strFileSystem); } } } }catch(IOException e){ e.printStackTrace(); }catch(InterruptedException e){ e.printStackTrace(); }
Running this on my G Pro gave me the following results:
mount point: /mnt/media_rw/external_SD file system: vfat mount point: /storage/external_SD file system: fuse
Some common Android file system types:
2.1m questions
2.1m answers
60 comments
57.0k users