File类

File类是java中的文件操作工具类,它的常用方法如下:
File构造函数 : 根据文件路径构造File对象
delete : 删除文件
exists : 判断文件是否存在
getName : 获取文件的文件名
getPath : 获取文件的目录路径
getParent : 获取上级目录路径
isDirectory : 判断是否为目录/文件夹
isFile : 判断是否为文件
length : 获取该文件的大小
list : 列出该目录下的所有文件(夹),返回String数组
listFiles : 列出该目录下的所有文件(夹),返回File数组
mkdirs : 创建目录/文件夹
renameTo : 重命名文件,其实就是移动文件到指定目录

获取文件大小有两种方式,一种是使用File类的length方法,另一种是使用FileInputStream类的available方法。下面是两种方式的示例代码:
1、length方式

     File file = new File(file_path);long size_length = 0;if (file.exists() == true) {size_length = file.length();}

2、available方式

     File file = new File(file_path);long size_available = 0;if (file.exists() == true) {try {FileInputStream fis = new FileInputStream(file);size_available = fis.available();} catch (Exception e) {e.printStackTrace();}}

Environment类

Environment类是Android中获取各种目录信息的工具,主要方法如下:
getDataDirectory : 获得系统data目录的路径
getDownloadCacheDirectory : 获得下载缓存目录的路径
getExternalStorageState : 获得外部存储的状态
MEDIA_UNKNOWN : 未知
MEDIA_REMOVED : 已经移除
MEDIA_UNMOUNTED : 未挂载
MEDIA_CHECKING : 正在检查
MEDIA_NOFS : 不支持的文件系统
MEDIA_MOUNTED : 已经挂载,且是可读写状态
MEDIA_MOUNTED_READ_ONLY : 已经挂载,且是只读状态
MEDIA_SHARED : 当前未挂载,但通过USB共享
MEDIA_BAD_REMOVAL : 未挂载就被移除
MEDIA_UNMOUNTABLE : 无法挂载
getExternalStorageDirectory : 获得外部存储(即SD卡)的路径
getExternalStoragePublicDirectory : 获得外部存储指定类型目录的路径
DIRECTORY_DCIM : 相片存放目录(包括相机拍摄的图片和视频)
DIRECTORY_DOCUMENTS : 文档存放目录
DIRECTORY_DOWNLOADS : 下载文件存放的目录
DIRECTORY_MOVIES : 视频存放目录
DIRECTORY_PICTURES : 图片存放目录
DIRECTORY_MUSIC : 音乐存放目录
getRootDirectory : 获得系统根目录的路径
getStorageState : 获得指定目录的状态
isExternalStorageEmulated : 判断外部存储是否有效
isExternalStorageRemovable : 判断外部存储是否可以移除,该方法用于判断SD卡是系统自带的还是外部插入的,如是外部插入的该方法就返回true。但现在很多手机既支持自带SD卡,也支持外插SD卡,所以该方法不能用来鉴别系统有没有外插SD卡。

SD卡操作

app操作SD卡时需增加如下处理:
1、在AndroidManifest.xml中增加SD卡的权限配置

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.READ_EXTERNAL_STORAG" /><uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />

2、代码中操作SD卡需要先判断当前SD卡是否已挂载。

if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)==true) {//下面补充SD卡的文件操作
}

点此查看Android开发笔记的完整目录

Android开发笔记(三十二)文件基础操作相关推荐

  1. 【Visual C++】游戏开发笔记三十二 浅墨DirectX提高班之一 DirectX大局观认知篇

    本系列文章由zhmxy555(毛星云)编写,转载请注明出处. 文章链接:  http://blog.csdn.net/zhmxy555/article/details/8172615 作者:毛星云(浅 ...

  2. Android开发笔记(十二)测量尺寸与下拉刷新

    尺寸测量的配置 控件宽和高的设置方式 大家知道,自定义视图的目的就是要在屏幕上显示期望的图案,那在绘制图案之前,我们得先知道这个图案的尺寸(如宽多少高多少). 一般在xml中给控件的宽和高有三种赋值方 ...

  3. Mr.J-- jQuery学习笔记(三十二)--jQuery属性操作源码封装

    扫码看专栏 jQuery的优点 jquery是JavaScript库,能够极大地简化JavaScript编程,能够更方便的处理DOM操作和进行Ajax交互 1.轻量级 JQuery非常轻巧 2.强大的 ...

  4. Unity3D研究院之在Unity中打开第三方数据库配合Android开发(三十二)

    http://www.xuanyusong.com/archives/831 http://www.xuanyusong.com/archives/1454 如果大家对Unity中如何使用数据库还不是 ...

  5. Android开发(三十二)——延时

    模拟延时 private class GetDataTask extends AsyncTask<Void, Void, String[]> {@Overrideprotected Str ...

  6. Android开发笔记(一百二十三)下拉刷新布局SwipeRefreshLayout

    SwipeRefreshLayout 下拉刷新布局SwipeRefreshLayout是Android又一与时俱进的控件,顾名思义它随着用户手势向下滑动就会触发刷新操作.从实际的下拉效果来看,Swip ...

  7. Android开发笔记(一百二十六)自定义音乐播放器

    MediaRecorder/MediaPlayer 在Android手机上面,音频的处理比视频还要复杂,这真是出人意料.在前面的博文< Android开发笔记(五十七)录像录音与播放>中, ...

  8. Android开发笔记(一百二十二)循环器视图RecyclerView

    RecyclerView RecyclerView是Android在support-v7库中新推出控件,中文别名为循环器视图,它的功能非常强大,可分别实现ListView.GridView,以及瀑布流 ...

  9. tensorflow学习笔记(三十二):conv2d_transpose (解卷积)

    tensorflow学习笔记(三十二):conv2d_transpose ("解卷积") deconv解卷积,实际是叫做conv_transpose, conv_transpose ...

  10. Android开发笔记(一百二十九)使用变换图形

    裁剪图形ClipDrawable ClipDrawable可设置图形的裁剪幅度,它的构造函数除了指定来源图形之外,还可以指定图形的裁剪方式(从开始裁剪还是从中间裁剪还是从末尾裁剪),以及裁剪方向(水平 ...

最新文章

  1. ZH PROPERTIES
  2. 《智能路由器开发指南》——1.1 OpenWrt简介
  3. python excel 追加写入_python excel写入及追加写入
  4. C#判断文件及文件夹是否存在并创建
  5. python socket select 错误 Filedescriptor out of range in select 解决方法
  6. 《蓝桥小记》 2018-04-01
  7. Java虚拟机内存分配策略
  8. SpringCloud03 Ribbon知识点、 Feign知识点、利用RestTemplate+Ribbon调用远程服务提供的资源、利用feign调用远程服务提供的资源、熔断...
  9. php的declare,php 中的declare
  10. iPhone 12系列价格曝光:起步价竟比iPhone 11还低?
  11. php闭包原理,闭包原理及实例
  12. python 为抓取而生
  13. vue中怎么点击修改文字_杭州展馆设计中说明牌和说明文字怎么样才能使用最大化?...
  14. MFC编码注意(2)
  15. 浅谈 malloc 函数在单片机上的应用
  16. 十大程序员最实用的技术社区网站
  17. html消息对话框,添加消息对话框 (HTML)
  18. python getch_macOS 下的 getch()
  19. adb 指令uninstall卸载android app 处理方法
  20. 网络舆情怎么分析研判的方案

热门文章

  1. 树状数组相关应用之区间更新单点查询问题
  2. 面经 |算法工程师面试题汇总分享
  3. asp.net core 系列之允许跨域访问2之测试跨域(Enable Cross-Origin Requests:CORS)
  4. 两年前端菜鸟回忆篇(1)
  5. 通过apicloud实现的混合开发App的Demo
  6. oracle查询表的意思,Oracle表的查询(一)
  7. 小狗扫地机器人与石头_石头扫地机器人 T7:使用一周后的真实测评报告
  8. linux telnet命令不可用的解决办法
  9. HttpClient 使用证书访问https站点
  10. python中的sys模块和os_python中os和sys模块的区别与常用方法总结