android开发相关文件类的处理工具类:

  1. package com.gzcivil.utils;
  2.  
  3. import java.io.File;
  4. import java.util.ArrayList;
  5. import java.util.List;
  6.  
  7. import android.os.Environment;
  8. import android.os.StatFs;
  9.  
  10. import com.gzcivil.entity.FileEntity;
  11.  
  12. /**
  13. * SDcard 相关处理
  14. *
  15. * @author LiJinlun
  16. *
  17. */
  18. public class FileUtils {
  19.  
  20. /**
  21. * 获取指定文件夹 所有文件
  22. * @param Path
  23. * @param Extension
  24. * @param IsIterative
  25. * @return
  26. */
  27. public static List<FileEntity> GetFiles(String Path, String Extension, boolean IsIterative) // 搜索目录,扩展名(判断的文件类型的后缀名),是否进入子文件夹
  28. {
  29. List<FileEntity> mlist = new ArrayList<FileEntity>();
  30. if (mlist != null && mlist.size() > 0)
  31. mlist.clear();
  32. File[] files = new File(Path).listFiles();
  33. if (files != null) {
  34. for (int i = 0; i < files.length; i++) {
  35. File f = files[i];
  36. if (f.isFile()) {
  37. if (f.getPath().substring(f.getPath().length() - Extension.length()).equals(Extension)) // 判断扩展名
  38. {
  39. FileEntity fileEnt = new FileEntity();
  40. fileEnt.setNewName(f.getName());
  41. fileEnt.setFileSize(CommonUtil.FormetFileSize(f.length()));
  42. fileEnt.setFilePath(f.getPath());
  43.  
  44. mlist.add(fileEnt);
  45. }
  46. if (!IsIterative)
  47. break; // 如果不进入子集目录则跳出
  48. } else if (f.isDirectory() && f.getPath().indexOf("/.") == -1) // 忽略点文件(隐藏文件/文件夹)
  49. GetFiles(f.getPath(), Extension, IsIterative); // 这里就开始递归了
  50. }
  51.  
  52. }
  53. return mlist;
  54. }
  55.  
  56. /**
  57. * sdcard 是否存在
  58. *
  59. * @return
  60. */
  61. public static boolean ExistSDCard() {
  62. if (android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED)) {
  63. return true;
  64. } else
  65. return false;
  66. }
  67.  
  68. /**
  69. * sdcard 剩余空间
  70. *
  71. * @return
  72. */
  73. public static long getSDFreeSize() {
  74. // 取得SD卡文件路径
  75. File path = Environment.getExternalStorageDirectory();
  76. StatFs sf = new StatFs(path.getPath());
  77. // 获取单个数据块的大小(Byte)
  78. @SuppressWarnings("deprecation")
  79. long blockSize = sf.getBlockSize();
  80. // 空闲的数据块的数量
  81. @SuppressWarnings("deprecation")
  82. long freeBlocks = sf.getAvailableBlocks();
  83. // 返回SD卡空闲大小
  84. // return freeBlocks * blockSize; //单位Byte
  85. // return (freeBlocks * blockSize)/1024; //单位KB
  86. return (freeBlocks * blockSize) / 1024 / 1024; // 单位MB
  87. }
  88.  
  89. /**
  90. * sdcard 总容量
  91. *
  92. * @return
  93. */
  94. public static long getSDAllSize() {
  95. // 取得SD卡文件路径
  96. File path = Environment.getExternalStorageDirectory();
  97. StatFs sf = new StatFs(path.getPath());
  98. // 获取单个数据块的大小(Byte)
  99. @SuppressWarnings("deprecation")
  100. long blockSize = sf.getBlockSize();
  101. // 获取所有数据块数
  102. @SuppressWarnings("deprecation")
  103. long allBlocks = sf.getBlockCount();
  104. // 返回SD卡大小
  105. // return allBlocks * blockSize; //单位Byte
  106. // return (allBlocks * blockSize)/1024; //单位KB
  107. return (allBlocks * blockSize) / 1024 / 1024; // 单位MB
  108. }
  109.  
  110. // 将SD卡文件夹里文件删除
  111. public static void deleteFile(File file) {
  112. if (file.exists()) {
  113. if (file.isFile()) {
  114. return;
  115. } else if (file.isDirectory()) {
  116. // 如果它是一个目录
  117. // 声明目录下所有的文件 files[];
  118. File files[] = file.listFiles();
  119. for (int i = 0; i < files.length; i++) { // 遍历目录下所有的文件
  120. deleteFile(files[i]); // 把每个文件 用这个方法进行迭代
  121. }
  122. }
  123. file.delete();
  124. }
  125. }
  126.  
  127. /**
  128. * 删除单个文件
  129. *
  130. * @param file
  131. */
  132. public static void deleteSingleFile(File file) {
  133. if (file.exists()) {
  134. if (file.isFile()) {
  135. file.delete();
  136. }
  137. }
  138. }
  139. }

android开发SDcard 响应的文件相关处理(一)的更多相关文章

  1. Android开发之获取xml文件的输入流对象

    介绍两种Android开发中获取xml文件的输入流对象 第一种:通过assets目录获取 1.首先是在Project下app/src/main目录下创建一个assets文件夹,将需要获取的xml文件放 ...

  2. Android开发环境——连接驱动ADB相关内容汇总

     Android开发环境将分为SDK相关内容.Eclipse ADT相关内容.模拟器AVD相关内容.调试器DDMS相关内容.日志LogCat相关内容.连接驱动ADB相关内容.内存泄露检测工具MAT相关 ...

  3. Android开发环境——调试器 DDMS相关内容汇总

       Android开发环境将分为SDK相关内容.Eclipse ADT相关内容.模拟器AVD相关内容.调试器DDMS相关内容.日志LogCat相关内容.连接驱动ADB相关内容.内存泄露检测工具MAT ...

  4. 关于android开发添加菜单XML文件之后无法在R.java中生成ID的问题

    因为和同学分开做的android软件,现在想整合他做的界面部分,于是拷贝了res和src文件夹的文件,其中包括一个res.menu文件夹中的XML.但是每次将该文件导入到工程总无法自动在R.java中 ...

  5. Android向SDCard中上传文件时报错:Failed to push items

    向sdcard中添加文件为什么总是提示Failed to push the item(s) Failed to push XXXXX.txt on emulator-     : Read-only ...

  6. android开发环境与工具使用相关备忘录

    一.名称简介 1.ADT(Android Development Tools) 可以简单理解为在eclipse下开发安卓的插件或工具包. 查看当前ADT版本方法:help-> about ecl ...

  7. Android开发手记(21) 遍历文件夹

    我们在遍历文件夹的时候由于涉及到SD卡相关操作,所以我们需要添加如下权限: <uses-permission android:name="android.permission.WRIT ...

  8. Android开发,布局xml文件命名注意事项——不能包含任何大写字母

    转自:http://blog.sina.com.cn/s/blog_628b45090100zuit.html 在开发Android应用时,会接触到布局文件,一般在 工程名/res/layout/*. ...

  9. Android开发中string.xml文件的使用

    为什么需要把应用中出现的文字单独存放在string.xml文中呢? 一:是为了国际化,Android建议将在屏幕上显示的文字定义在strings.xml中,如果今后需要进行国际化,比如我们开发的应用本 ...

随机推荐

  1. 判图的连通性(dfs,并查集)

    一.无向图 欧拉回路:每个顶点度数都是偶数 欧拉路:所有点度数为偶数,或者只有2个点度数为奇数 当然判连通性 hdu 1878 欧拉回路 两种判连通的方法 dfs #include <iostr ...

  2. Binary Tree Level Order Traversal - leetcode - java

    Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, ...

  3. R基础

    R的对象类型包括数值型(numeric),复数型(complex),逻辑型(logical),字符型(character)和原味型(raw),列表(list)递归结构:函数(function)和表达式 ...

  4. CMS(Concurrent Mark-Sweep)

    CMS(Concurrent Mark-Sweep)是以牺牲吞吐量为代价来获得最短回收停顿时间的垃圾回收器.对于要求服务器响应速度的应用上,这种垃圾回收器非常适合.在启动JVM参数加上-XX:+Use ...

  5. CSS3 背景属性

    CSS3 background-size 属性 div {background:url(bg_flower.gif);-moz-background-size:63px 100px; /* 老版本的 ...

  6. 在Fedora 23 Server和Workstation上安装LAMP(Linux, Apache, MariaDB和PHP)

    在安装LAMP之前,建议先更新系统包$ sudo dnf update 第一步:安装Apache Web服务器1.在Fedora 23安装Apache,你可以运行下面的命令:$ sudo dnf in ...

  7. IPTV小窗口播放视频 页面焦点无法移动的解决方法

    在IPTV高清页面中,小窗口播放视频时,在某些机顶盒上(如高清中兴.高清大亚4904)会出现焦点无法移动现象,即按键无响应.被这个bug困扰了很久,虽然我知道解决方法,但只知其然,不知其所以然.今天做 ...

  8. php 文件操作类

    class fileInit { /** * 创建空文件 * @param string $filename 需要创建的文件 * @return */ public function create_f ...

  9. mongo设计(三)

    原文:http://blog.mongodb.org/post/88473035333/6-rules-of-thumb-for-mongodb-schema-design-part-3 By Wil ...

  10. jupyter巨好玩-调试代码自动变文档

    有时候,我们写python程序,总是会出现各种错误,当酒过三巡,菜过五味,所有问题都解决了之后,我们就想把犯过的错误总结一下,以便日后查询.这时候问题来了,难道要一一重现一下? jupyter来了!一 ...