JAVA IO---File
File是文件和目录路径名的抽象表示形式。
File 继承于Object类,实现了Serializable接口,File对象支持序列化操作;实现了Comparable接口,File对象之间可以比较大小。
- File的属性
public static final char separatorChar //与系统有关的默认名称分隔符。此字段被初始化为包含系统属性 file.separator 值的第一个字符。
public static final String separator //与系统有关的默认名称分隔符,为了方便,它被表示为一个字符串。此字符串只包含一个字符,即 separatorChar。
public static final char pathSeparatorChar //与系统有关的路径分隔符。此字段被初始为包含系统属性 path.separator 值的第一个字符。
public static final String pathSeparator //与系统有关的路径分隔符,为了方便,它被表示为一个字符串。此字符串只包含一个字符,即 pathSeparatorChar。
- File的构造方法
File(File parent, String child) //根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。
File(String pathname) //通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。
File(String parent, String child) //根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。
File(URI uri) //通过将给定的 file: URI 转换为一个抽象路径名来创建一个新的 File 实例。
File构造方法对应的几种File对象创建方式实现
File f = new File(new File("d:\\blog\\"),"Vector.md");
File f = new File("d:\\blog\\File.md");
File f = new File("d:\\blog\\","File.md");
File f = new File(new URI("file:/d:/blog/File.md"));
File可以表示不存在的文件,其代表一个抽象路径。
创建一个File对象,不会在指定路径生成文件,不管路径是否存在该文件。但可以调用exists()判断对应的File的文件或目录是否真实存在。
- File的常用方法
增加
boolean createNewFile() //当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。
static File createTempFile(String prefix, String suffix) //在默认临时文件目录中创建一个空文件,使用给定前缀和后缀生成其名称。
static File createTempFile(String prefix, String suffix, File directory) //在指定目录中创建一个新的空文件,使用给定的前缀和后缀字符串生成其名称。
boolean mkdir() //创建此抽象路径名指定的目录。
boolean mkdirs() //创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。
删除
boolean delete() //删除此抽象路径名表示的文件或目录。
void deleteOnExit() //在虚拟机终止时,请求删除此抽象路径名表示的文件或目录。
测试
boolean canExecute() //测试应用程序是否可以执行此抽象路径名表示的文件。
boolean canRead() //测试应用程序是否可以读取此抽象路径名表示的文件。
boolean canWrite() //测试应用程序是否可以修改此抽象路径名表示的文件。
boolean equals(Object obj) //测试此抽象路径名与给定对象是否相等。
boolean exists() //测试此抽象路径名表示的文件或目录是否存在。
boolean isAbsolute() //测试此抽象路径名是否为绝对路径名。
boolean isDirectory() //测试此抽象路径名表示的文件是否是一个目录。
boolean isFile() //测试此抽象路径名表示的文件是否是一个标准文件。
boolean isHidden() //测试此抽象路径名指定的文件是否是一个隐藏文件。
设置
boolean setExecutable(boolean executable) //设置此抽象路径名所有者执行权限的一个便捷方法。
boolean setExecutable(boolean executable, boolean ownerOnly) //设置此抽象路径名的所有者或所有用户的执行权限。
boolean setLastModified(long time) //设置此抽象路径名指定的文件或目录的最后一次修改时间。
boolean setReadable(boolean readable) //设置此抽象路径名所有者读权限的一个便捷方法。
boolean setReadable(boolean readable, boolean ownerOnly) //设置此抽象路径名的所有者或所有用户的读权限。
boolean setReadOnly() //标记此抽象路径名指定的文件或目录,从而只能对其进行读操作。
boolean setWritable(boolean writable) //设置此抽象路径名所有者写权限的一个便捷方法。
boolean setWritable(boolean writable, boolean ownerOnly) //设置此抽象路径名的所有者或所有用户的写权限。
获取
File getAbsoluteFile() //返回此抽象路径名的绝对路径名形式。
String getAbsolutePath() //返回此抽象路径名的绝对路径名字符串。
File getCanonicalFile() //返回此抽象路径名的规范形式。
String getCanonicalPath() //返回此抽象路径名的规范路径名字符串。
long getFreeSpace() //返回此抽象路径名指定的分区中未分配的字节数。
String getName() //返回由此抽象路径名表示的文件或目录的名称。
String getParent() //返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回 null。
File getParentFile() //返回此抽象路径名父目录的抽象路径名;如果此路径名没有指定父目录,则返回 null。
String getPath() //将此抽象路径名转换为一个路径名字符串。
long getTotalSpace() //返回此抽象路径名指定的分区大小。
long getUsableSpace() //返回此抽象路径名指定的分区上可用于此虚拟机的字节数。
long lastModified() //返回此抽象路径名表示的文件最后一次被修改的时间。
long length() //返回由此抽象路径名表示的文件的长度。
String[] list() //返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。
String[] list(FilenameFilter filter) //返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中满足指定过滤器的文件和目录。
File[] listFiles() //返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。
File[] listFiles(FileFilter filter) //返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。
File[] listFiles(FilenameFilter filter) //返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。
static File[] listRoots() //列出可用的文件系统根。