`
notfatboy
  • 浏览: 237173 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

查询存储空间的代码

阅读更多

以下代码片段转载自Android Snippets

该代码片段可以让我们获取internal和external的存储空间大小。

   1. import java.io.File;  
   2.   
   3. import android.os.Environment;  
   4. import android.os.StatFs;  
   5.   
   6. public class MemoryStatus {  
   7.   
   8.     static final int ERROR = -1;  
   9.       
  10.     static public boolean externalMemoryAvailable() {  
  11.         return android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED);  
  12.     }  
  13.       
  14.     static public long getAvailableInternalMemorySize() {  
  15.         File path = Environment.getDataDirectory();  
  16.         StatFs stat = new StatFs(path.getPath());  
  17.         long blockSize = stat.getBlockSize();  
  18.         long availableBlocks = stat.getAvailableBlocks();  
  19.         return availableBlocks * blockSize;  
  20.     }  
  21.       
  22.     static public long getTotalInternalMemorySize() {  
  23.         File path = Environment.getDataDirectory();  
  24.         StatFs stat = new StatFs(path.getPath());  
  25.         long blockSize = stat.getBlockSize();  
  26.         long totalBlocks = stat.getBlockCount();  
  27.         return totalBlocks * blockSize;  
  28.     }  
  29.       
  30.     static public long getAvailableExternalMemorySize() {  
  31.         if(externalMemoryAvailable()) {  
  32.             File path = Environment.getExternalStorageDirectory();  
  33.             StatFs stat = new StatFs(path.getPath());  
  34.             long blockSize = stat.getBlockSize();  
  35.             long availableBlocks = stat.getAvailableBlocks();  
  36.             return availableBlocks * blockSize;  
  37.         } else {  
  38.             return ERROR;  
  39.         }  
  40.     }  
  41.       
  42.     static public long getTotalExternalMemorySize() {  
  43.         if(externalMemoryAvailable()) {  
  44.             File path = Environment.getExternalStorageDirectory();  
  45.             StatFs stat = new StatFs(path.getPath());  
  46.             long blockSize = stat.getBlockSize();  
  47.             long totalBlocks = stat.getBlockCount();  
  48.             return totalBlocks * blockSize;  
  49.         } else {  
  50.             return ERROR;  
  51.         }  
  52.     }  
  53.       
  54.     static public String formatSize(long size) {  
  55.         String suffix = null;  
  56.       
  57.         if (size >= 1024) {  
  58.             suffix = "KiB";  
  59.             size /= 1024;  
  60.             if (size >= 1024) {  
  61.                 suffix = "MiB";  
  62.                 size /= 1024;  
  63.             }  
  64.         }  
  65.       
  66.         StringBuilder resultBuffer = new StringBuilder(Long.toString(size));  
  67.       
  68.         int commaOffset = resultBuffer.length() - 3;  
  69.         while (commaOffset > 0) {  
  70.             resultBuffer.insert(commaOffset, ',');  
  71.             commaOffset -= 3;  
  72.         }  
  73.       
  74.         if (suffix != null)  
  75.             resultBuffer.append(suffix);  
  76.         return resultBuffer.toString();  
  77.     }  
  78. }  
 
分享到:
评论

相关推荐

    AE的空间查询代码 基础学习用

    本压缩包中的“ae的空间查询代码.doc”文档很可能是关于如何使用AE进行空间查询的代码示例,对于GIS专业学生或者开发者来说,是一份非常有价值的学习资源。 AE空间查询主要涉及以下几个关键知识点: 1. **空间数据...

    [工具查询]PHP查询QQ空间代码_qqzone.zip

    【PHP查询QQ空间代码】是针对开发者或者网络爱好者的一个实用工具,主要目的是通过PHP编程语言来获取和解析QQ空间的相关信息。在这个压缩包文件中,很可能是包含了一系列PHP脚本和可能的辅助文档,用于教用户如何...

    缓冲区查询代码

    在《缓冲区查询代码.txt》文件中,可能包含具体的缓冲区查询实现代码,包括数据结构设计、查询函数、缓存替换逻辑等。学习和理解这段代码,可以加深对缓冲区查询原理和实践的理解,进一步提升编程技能。

    手机号归属地数据导入及查询工具源代码(C++)

    手机归属地数据文件格式是自己定义的,使用本程序将文本格式的手机号数据导入为二进制文件以节约存储空间和提高查询速度,数据文件命名为MpData.dat,然后可以使用本程序查询手机号段的归属地 注: Mps.cpp是主程序...

    获取手机剩余内部存储大小

    内部存储(Internal Storage)是指设备自带的存储空间,通常用于存储应用程序及其数据、系统文件等。这部分存储空间对用户通常是不可见的,但可以通过编程接口进行访问和管理。 在Android中,我们可以使用`java.io....

    Arcgis engine GPS数据连接查询源代码

    通过以上步骤,"ArcGIS Engine GPS数据连接查询源代码"可以实现从获取GPS数据到进行空间分析和可视化的一系列功能。理解这些概念对于开发自己的GIS应用或改进现有项目至关重要。在实际开发中,你需要根据具体需求...

    软件工程课程设计代码-公交查询系统-实现查询模块

    表现层负责用户交互,业务逻辑层处理查询算法,数据访问层则用于获取和存储公交线路及站点信息。 3. **数据库设计**:数据库通常包含公交线路表、站点表、以及可能的时刻表等。站点表记录各个站点信息,线路表关联...

    数据库查询的存储过程

    数据库查询的存储过程 数据库查询的存储过程是数据库管理系统中一种非常重要的概念。它可以将多个SQL语句组合成一个单元,提高数据库的查询效率和性能。 存储过程的优点: 1. 可以在单个存储过程中执行一系列SQL...

    手机号归属地数据导入及查询工具源代码

    手机归属地数据文件格式是自己定义的,使用本程序将文本格式的手机号数据导入为二进制文件以节约存储空间和提高查询速度,数据文件命名为MpData.dat,然后可以使用本程序查询手机号段的归属地 注: Mps.cpp是主程序...

    多项存储数据js 代码

    `js123.js`可能包含了一些辅助函数或错误处理代码,例如检查存储空间是否已满,或者处理存储过程中的异常。 总的来说,理解JavaScript的数据存储机制对于开发能够持久化用户数据的应用至关重要。通过正确使用和管理...

    GIS开源代码GIS开源代码GIS开源代码 空间分析

    通过这份资源,学习者和开发者可以了解到如何实现GIS的基本功能,如地图显示、图层管理、投影转换、空间查询等,并能进行高级的空间分析。同时,他们还能深入到GIS的内部机制,学习如何利用开源GIS代码开发自己的...

    gis最佳路径查询全套代码

    本套代码将详细阐述如何实现GIS的最佳路径查询。 在交通网络中,最佳路径通常指的是时间最短或距离最短的路线,这需要考虑到道路的通行条件、交通流量、速度限制等因素。最佳路径查询可以通过Dijkstra算法、A*算法...

    QQ空间代码查询工具

    6. **性能优化**:考虑到可能的大流量和高并发,开发者可能会在后端实现缓存机制,将近期查询过的QQ空间代码存储起来,减少重复请求,提高响应速度。 总的来说,QQ空间代码查询工具是一个结合了PHP网络请求、数据...

    公交查询及换乘的算法源代码示例

    在本压缩包中,你将找到一系列关于这一主题的详细资源,包括论坛讨论、完整的查询系统源代码、算法分析以及相关的学术论文。 首先,让我们深入了解一下公交查询及换乘算法的基本原理。这种算法通常基于图论,将公交...

    android文件存储实例源代码

    1. **内部存储**:这是Android应用私有的存储空间,其他应用无法访问。通常用于保存小量的敏感数据或应用配置。使用`Context`对象的`openFileOutput()`方法创建和写入文件,而`openFileInput()`用于读取。例如: ``...

    最短路径查询优化源代码

    - **空间复杂度和时间复杂度**:源代码的优化可能体现在减少内存占用和提高运行速度上,比如避免不必要的存储和重复计算。 - **错误处理和边界条件**:源代码可能包含了对无效输入的检查,以及处理孤立节点、负权...

    。。VB代码库查询工具

    "压缩"暗示了文件经过压缩处理,减少了存储空间,便于下载和分发。 详细知识点: 1. **VB编程基础**:VB是一种基于Windows操作系统的编程环境,支持事件驱动编程,允许开发者通过拖拽控件和编写简单的代码实现应用...

    oracle常用经典sql查询功能代码

    - 通过手工分配表空间段的分区大小和释放表中未使用的空间,可以有效管理存储空间。 5. 索引管理 - 索引是Oracle数据库中用于提高查询效率的重要结构,可以通过创建、分配分区、重建、整理碎片以及分析等操作来...

    查询数据库记录条数和空间占用

    oracle查询数据库记录条数和空间占用,,最最完整的代码..

    数据结构中图的存储,排序,代码

    然而,查询节点i到节点j是否有边在最坏情况下可能需要O(n)的时间,并且对于无向图,边会被重复存储,造成空间浪费。逆邻接表则是针对有向图的一种优化,它记录了指向每个节点的所有边,使得查找进入特定节点的边变得...

Global site tag (gtag.js) - Google Analytics