android.os.StatFs
一个模拟linux的df命令的一个类,获得SD卡和手机内存的使用情况
java.lang.Object
android.os.StatFs
构造方法:
StatFs (String path)
公用方法:
方法 : getAvailableBlocks ()
返回 : int
解释 :返回文件系统上剩下的可供程序使用的块
方法 : getBlockCount ()
返回 : int
解释 : 返回文件系统上总共的块
方法 : getBlockSize ()
返回 : int
解释 : 返回文件系统 一个块的大小单位byte
方法 : getFreeBlocks ()
返回 : int
解释 : 返回文件系统上剩余的所有块 包括预留的一般程序无法访问的
方法 : restat (String path)
返回 : void
解释 : 执行一个由该对象所引用的文件系统雷斯塔特.(Google翻译)
想计算SDCard大小和使用情况时, 只需要得到SD卡总共拥有的Block数或是剩余没用的Block数,再乘以每个Block的大小就是相应的容量大小了单位byte.
public void SDCardSizeTest() {
// 取得SDCard当前的状态
String sDcString = android.os.Environment.getExternalStorageState();
if (sDcString.equals(android.os.Environment.MEDIA_MOUNTED)) {
// 取得sdcard文件路径
File pathFile = android.os.Environment
.getExternalStorageDirectory();
android.os.StatFs statfs = new android.os.StatFs(pathFile.getPath());
// 获取SDCard上BLOCK总数
long nTotalBlocks = statfs.getBlockCount();
// 获取SDCard上每个block的SIZE
long nBlocSize = statfs.getBlockSize();
// 获取可供程序使用的Block的数量
long nAvailaBlock = statfs.getAvailableBlocks();
// 获取剩下的所有Block的数量(包括预留的一般程序无法使用的块)
long nFreeBlock = statfs.getFreeBlocks();
// 计算SDCard 总容量大小MB
long nSDTotalSize = nTotalBlocks * nBlocSize / 1024 / 1024;
// 计算 SDCard 剩余大小MB
long nSDFreeSize = nAvailaBlock * nBlocSize / 1024 / 1024;
}
分享到:
相关推荐
在Android平台上,存储容量的管理是一项关键任务,尤其是在设备内存有限的情况下。本示例主要关注如何在H6平台上实现Flash存储容量的翻倍,而这一技术同样适用于其他平台,尽管可能需要进行相应的验证。让我们深入...
Android SDCard 操作(文件读写、容量计算) Android SDCard 操作是指在 Android 系统中对 SD 卡的读写和容量计算操作。SD 卡是 Android 设备中的一种外部存储设备,用于存储数据、音乐、图片、视频等文件。 ...
Android获取手机内置存储SDCard的使用情况,包括SD卡容量、已使用大小,剩余容量大小等信息,将获取的过程写入按钮事件中,单击按钮后,获取SD卡容量信息。 if(Environment.getExternalStorageState().equals...
为了更直观地展示容量大小,我们可以将字节数转换为更易读的单位(如KB、MB、GB),这通常通过自定义的方法实现。例如: ```java public String[] fileSize(long bytes) { long absB = bytes == Long.MIN_VALUE ? ...
本话题主要关注如何统计SDCard的存储大小,包括内置SDCard和外置SDCard,以及USB存储设备的容量。统计这些信息对于了解设备的存储状况,管理应用程序和数据,以及优化存储空间的使用至关重要。 首先,我们要理解...
### Android SDCard操作(文件读写,容量计算) #### 概述 本文将详细介绍如何在Android应用中进行SDCard的操作,包括文件的读写以及容量的计算等内容。通过掌握这些知识点,开发者能够更好地利用外部存储空间来提高...
在大多数Android设备中,用户可以在"存储"设置中查看SDcard的状态和容量。打开文件管理器应用,通常可以看到“外部存储”或“SDcard”等选项,点击即可浏览和管理TF卡上的文件。 在Android系统中,对外置SDcard的...
计算SDCard容量通常涉及到文件系统的统计信息。在Android中,可以使用`StatFs`类来获取存储分区的信息,包括总块数、可用块数以及单个块的大小。以下是一个示例: ```java StatFs stat = new StatFs(Environment....
外部存储,即SDCard,可以是物理插入的SD卡或内置的emulated SD卡,用于用户存储多媒体文件、文档等大容量数据。 1. **手动创建外部SDCard**: 在Android模拟器中,可以通过ADB(Android Debug Bridge)命令来创建...
### Android如何获取SDCard_内存 #### 一、概述 在Android开发中,了解外部存储(如SD卡)的状态及空间使用情况对于许多应用程序来说至关重要。例如,当应用需要存储大量数据时,确保有足够的可用空间可以避免运行...
本文将详细介绍如何在Android中获取SD卡的容量,并提供相关的编程实践。 ### 1. Android SD卡概述 在Android系统中,外部存储分为两种类型:内部存储(Internal Storage)和外部存储(External Storage)。内部...
表示SDCard未安装并通过USB大容量存储共享。 8. **MEDIA_UNMOUNTABLE** 表示SDCard存在但无法安装。 9. **MEDIA_UNMOUNTED** 表示SDCard已经卸载。 ##### 方法 1. **getDataDirectory()** 返回Android的...
在Android系统中,SDCard常被用于扩展设备的存储容量,用于存储应用程序数据、媒体文件等。而在Android开发过程中,如何正确地使用SDCard进行文件的读写操作,是开发者需要掌握的一个重要技能点。 在Android平台,...
在Android系统中,开发者可以通过Java API来获取存储卡(外部存储)的剩余容量信息。这里主要涉及两个关键类:`Environment`和`StatFs`。`Environment`是Android提供的一个系统类,它提供了与文件系统相关的常量和...
通过将总块数乘以块大小,我们得到SD卡的总容量(`totalsize`),而可用块数乘以块大小则表示剩余可用空间(`availsize`)。为了将这些数值转换为用户友好的格式(如KB, MB, GB等),我们可以使用`Formatter....
在Android开发中,获取SD卡路径以及查询SDCard内存大小是常见的需求,这对于存储和管理应用程序的数据至关重要。本文将详细讲解如何实现这一功能,并介绍相关的类和方法。 首先,我们来了解一下获取SD卡路径的两种...
以下将详细介绍如何在Android编程中获取SDCard卡信息,包括总容量和剩余容量。 首先,Android系统提供了一个名为`Environment`的类,它包含了一些与外部存储相关的常量和方法。例如,`getExternalStorageState()`...
比如,`length()`方法可以得到文件的大小(字节),将其转换为人类可读的格式,可以获取SD卡的总容量: ```java long totalSize = sdCard.length(); // 转换为GB double totalGB = totalSize / (1024.0 * 1024.0 * ...
设备信息通常会显示SDcard的总容量、可用空间以及挂载状态。这对于管理文件、下载和存储大型应用或媒体内容的用户非常有用。 3. **安全开关**: - **USB调试**:这是Android开发者选项中的一个关键设置,允许...