------- android培训、java培训、期待与您交流! ----------
File类 文件和目录路径名的抽象表示形式
用户界面和操作系统使用与系统相关的路径名字符串 来命名文件和目录。此类呈现分层路径名的一个
抽象的、与系统无关的视图。抽象路径名 有两个组件:
1,一个可选的与系统有关的前缀 字符串,比如盘符,"/" 表示 UNIX 中的根目录,"\\\\" 表示
Microsoft Windows UNC 路径名。
2,零个或更多字符串名称 的序列。
抽象路径名中的第一个名称是目录名,对于 Microsoft Windows UNC 路径名则是主机名。抽象路径名
中第一个名称之后的每个名称表示一个目录;最后一个名称既可以表示目录,也可以表示文件。空 抽
象路径名没有前缀和名称序列。
路径名字符串与抽象路径名之间的转换与系统有关。将抽象路径名转换为路径名字符串时,每个名称与下一个名称之间用一个默认分隔符 隔开。默认名称分隔符由系统属性 file.separator 定义,可通过此类的公共静态字段 separator 和 separatorChar 使其可用。将路径名字符串转换为抽象路径名时,可以使用默认名称分隔符或者底层系统支持的任何其他名称分隔符来分隔其中的名称。
无论是抽象路径名还是路径名字符串,都可以是绝对 路径名或相对 路径名。绝对路径名是完整的路径名,不需要任何其他信息就可以定位它所表示的文件。相反,相对路径名必须使用取自其他路径名的信息进行解释。默认情况下,java.io 包中的类总是根据当前用户目录来解析相对路径名。此目录由系统属性 user.dir 指定,通常是 Java 虚拟机的调用目录。
调用此类的 getParent() 方法可以获取抽象路径名的父 路径名,它由路径名前缀以及路径名名称序列中的每个名称(最后一除外)组成。对于任何具有绝对抽象路径名的 File 对象,如果其绝对抽象路径名以某个目录的绝对路径名开头,那么该目录的绝对路径名是该 File 对象的祖先。例如,抽象路径名 "/usr" 表示的目录是路径名 "/usr/local/bin" 所表示目录的一个祖先。
文件系统可以实现对实际文件系统对象上的某些操作(比如,读、写、执行)进行限制。这些限制统称为访问权限。文件系统可以对一个对象设置多个访问权限。例如,一个设置可能适用于对象的所有者,另一个设置则可能适用于所有其他用户。对象上的访问权限可能导致此类的某些方法执行失败。
File 类的实例是不可变的;也就是说,一旦创建,File 对象表示的抽象路径名将永不改变
常见方法
1,创建
boolean createNewFile();//当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件
boolean mkdir();//创建文件夹
boolean mkdirs();//创建多级文件夹
2,删除
boolean delete();//删除失败返回false
void deleteOnExit()//在程序退出时删除指定文件
3,判断
boolean exists();//判断文件是否存在
boolean isFile(); //判断是否是文件
boolean isDirectory()//判断是否是一个目录
boolean isAbsolute() ;//判断是否是绝对路径
boolean isHidden();//判断是否是隐藏
boolean canExecute() ;//判断文件是否看执行
boolean canRead();//是否可读取
boolean canWrite() //是否可修改
4,信息
getName();//返回由此抽象路径名表示的文件或目录的名称
getParent() ;//回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回 null
getParentFile() ;//返回此抽象路径名父目录的抽象路径名;如果此路径名没有指定父目录,则返回 null
getTotalSpace() ;//返回此抽象路径名指定的分区大小。
getUsableSpace();//返回此抽象路径名指定的分区上可用于此虚拟机的字节数
getPath(); //将此抽象路径名转换为一个路径名字符串
getAbsoluteFile() ;//返回此抽象路径名的绝对路径名形式。
getAbsolutePath() ;//返回此抽象路径名的绝对路径名字符串。
getCanonicalFile() ;//返回此抽象路径名的规范形式。
getFreeSpace() ;//返回此抽象路径名的规范路径名字符串。
length(); //返回由此抽象路径名表示的文件的长度。
lastModified() ; //返回此抽象路径名表示的文件最后一次被修改的时间。