第一个就是路径
1:相对路径,getPath() 就是构造方法里传入的路径,File f =newFile("..\\src\\file");
2:绝对路径,getAbsolutePath()
3:唯一绝度路径,getCanonicalPath()。(省略的..与多余的\\)
为了兼容性,建议使用,File.pathSeparator 和 File.Separator 。
下面是Android里的文件遍历程序。
再提一点就是Android的文件系统。
internal storage是属于应用程序的,只有该应用程序可以访问。
External storage包括手机内置sd卡和扩充sd卡。
主要讲解如何读写sd卡上的文件,
读写和删除需要权限
说到Android的文件,不得不提到两个类。Environment和StatFs 。
具体。
1、讲述 Environment 类Environment 是一个提供访问环境变量的类。
Environment 包含常量:
MEDIA_BAD_REMOVAL解释:返回getExternalStorageState() ,表明SDCard 被卸载前己被移除
MEDIA_CHECKING解释:返回getExternalStorageState() ,表明对象正在磁盘检查。
MEDIA_MOUNTED解释:返回getExternalStorageState() ,表明对象是否存在并具有读/写权限
MEDIA_MOUNTED_READ_ONLY解释:返回getExternalStorageState() ,表明对象权限为只读
MEDIA_NOFS解释:返回getExternalStorageState() ,表明对象为空白或正在使用不受支持的文件系统。
MEDIA_REMOVED解释:返回getExternalStorageState() ,如果不存在 SDCard 返回
MEDIA_SHARED解释:返回getExternalStorageState() ,如果 SDCard 未安装 ,并通过 USB 大容量存储共享 返回
MEDIA_UNMOUNTABLE解释:返回getExternalStorageState() ,返回 SDCard 不可被安装 如果 SDCard 是存在但不可以被安装
MEDIA_UNMOUNTED解释:返回getExternalStorageState() ,返回 SDCard 已卸掉如果 SDCard 是存在但是没有被安装
Environment 常用方法:方法:getDataDirectory()解释:返回 File ,获取 Android 数据目录(这个应该是InnerStorage)。
方法:getDownloadCacheDirectory()解释:返回 File ,获取 Android 下载/缓存内容目录。
方法:getExternalStorageDirectory()解释:返回 File ,获取外部存储目录即 SDCard
方法:getExternalStoragePublicDirectory(String type)解释:返回 File ,取一个高端的公用的外部存储器目录来摆放某些类型的文件
方法:getExternalStorageState()解释:返回 File ,获取外部存储设备的当前状态
方法:getRootDirectory()解释:返回 File ,获取 Android 的根目录
2、讲述 StatFs 类StatFs 一个模拟linux的df命令的一个类,获得SD卡和手机内存的使用情况
StatFs 常用方法:
getAvailableBlocks()解释:返回 Int ,获取当前可用的存储空间
getBlockCount()解释:返回 Int ,获取该区域可用的文件系统数
getBlockSize()解释:返回 Int ,大小,以字节为单位,一个文件系统
getFreeBlocks()解释:返回 Int ,该块区域剩余的空间
restat(String path)解释:执行一个由该对象所引用的文件系统
详细用法看文档去。
java中File的api。常用的操作,新建,重命名,删除,设置权限。。。。。。
首先构造,有4个
Constructor and Description
Constructs a new file using the specified directory and name.
Constructs a new file using the specified path.
Constructs a new File using the specified directory path and file name, placing a path separator between the two.
Constructs a new File using the path of the specified URI.
public boolean createNewFile()
throws IOException
注意这个方法,如果存在同名的File,有可能是dir。建议使用前使用isFile()来检查是否存在同名文件夹。
接下来是对文件内容的操作。