Package Com.orgcent.util;import Java.io.file;import Android.os.environment;import Android.os.statfs;public class memorystatus {static final int ERROR =-1; /** * External Storage available * @return */static public boolean externalmemoryavailable () {return Android.os.Envi Ronment.getexternalstoragestate (). Equals (Android.os.Environment.MEDIA_MOUNTED); /** * Get the size of your phone's internal free space * @return */static public long getavailableinternalmemorysize () {File path = Environment.getdatadirectory (); StatFs stat = new StatFs (Path.getpath ()); Long blockSize = Stat.getblocksize (); Long availableblocks = Stat.getavailableblocks (); return availableblocks * blockSize; /** * Get phone internal space size * @return */static public long gettotalinternalmemorysize () {File path = ENV Ironment.getdatadirectory (); StatFs stat = new StatFs (Path.getpath ()); Long blockSize = Stat.getblocksize (); Long TotalBlocks = Stat.getblockcount (); return totalblocks * blockSize; /** * Get the phone's external free space size * @return */static public long getavailableexternalmemorysize () {if (exter Nalmemoryavailable ()) {File path = Environment.getexternalstoragedirectory (); StatFs stat = new StatFs (Path.getpath ()); Long blockSize = Stat.getblocksize (); Long availableblocks = Stat.getavailableblocks (); return availableblocks * blockSize; } else {return ERROR; }}/** * Get the phone external space size * @return */static public long gettotalexternalmemorysize () {if (extern Almemoryavailable ()) {File path = Environment.getexternalstoragedirectory (); StatFs stat = new StatFs (Path.getpath ()); Long blockSize = Stat.getblocksize (); Long totalblocks = Stat.getblockcount (); return totalblocks * blockSize; } else {return ERROR; } } static public String formatsize (long size) {string suffix = null; if (size >= 1024x768) {suffix = "KiB"; Size/= 1024; if (size >= 1024x768) {suffix = "MiB"; Size/= 1024; }} StringBuilder Resultbuffer = new StringBuilder (long.tostring (size)); int commaoffset = Resultbuffer.length ()-3; while (Commaoffset > 0) {resultbuffer.insert (Commaoffset, ', '); Commaoffset-= 3; } if (suffix! = null) resultbuffer.append (suffix); return resultbuffer.tostring (); }}
When storing files, it is often necessary to know the storage size of the internal or sdcard of the system in order to ensure sufficient amount of remaining space. Above is a tool class to get storage space.