Classic IO 和 NIO
java设计之初的IO架构被称为Classic IO。随着计算机的发展以及在硬件层面上的优化,现代操作系统有一些新的IO范式,然而Classic IO API无法支持这些新的特性,因此java 在1.4版本引入了NIO,并在接下来的版本中继续完善NIO
java.io.File
File
类是文件和目录路径名的抽象表示,File对象表示的文件或者目录可能不存在
File类的公共静态成员变量separator
(String
类型)和separatorChar
(char
类型)用于获取底层操作系统分割符。window下是\
,linux下是/
File 构造函数
函数签名 |
含义 |
File(String pathname) |
通过将给定的pathname字符串转换为抽象的pathname来创建一个新的文件实例 |
File(String parent, String child) |
从父路径名字符串和子路径名字符串创建一个新文件实例 |
File(File parent, String child) |
从父抽象路径名和子路径名字符串创建新文件实例。 |
File(URI uri) |
通过将给定的file:URI转换为抽象路径名来创建一个新的文件实例。 |
抽象路径相关方法
方法名 |
描述 |
File getAbsoluteFile() |
返回这个抽象路径名的绝对形式 |
String getAbsolutePath() |
返回这个抽象路径名的绝对路径名字符串。 |
File getCanonicalFile() |
返回这个抽象路径名的规范形式 |
String getCanonicalPath() |
返回这个抽象路径名的规范路径名字符串 |
String getName() |
返回用这个抽象路径名表示的文件或目录的名称 |
String getParent() |
返回这个抽象路径名的父目录的路径名字符串,如果该路径名没有命名父目录,则返回null |
File getParentFile() |
返回这个抽象路径名的父目录的抽象路径名,如果该路径名没有命名父目录,则返回null |
String getPath() |
将此抽象路径名转换为路径名字符串 |
boolean isAbsolute() |
测试是否为绝对路径 |
String toString() |
等同于getPath |
文件或者目录的一些判断操作
方法名 |
描述 |
boolean exists() |
测试用这个抽象路径名表示的文件或目录是否存在。 |
boolean isDirectory() |
测试用这个抽象路径名表示的文件是否为目录 |
boolean isFile() |
测试用这个抽象路径名表示的文件是否为文件 |
boolean isHidden() |
测试由这个抽象路径名命名的文件是否为隐藏文件 |
long lastModified() |
返回由这个抽象路径名表示的文件最后被修改的时间 |
long length() |
返回用这个抽象路径名表示的文件的长度。如果此路径名表示目录,则返回值不确定 |
列出根目录
File[] listRoots()
获取磁盘空间信息
方法名 |
描述 |
long getFreeSpace() |
返回由这个抽象路径名命名的分区中未分配的字节数 |
long getTotalSpace() |
返回由这个抽象路径名命名的分区的大小 |
long getUsableSpace() |
返回由这个抽象路径名命名的分区上这个虚拟机可用的字节数。在可能的情况下,该方法检查写权限和其他操作系统限制,因此通常会提供比getFreeSpace()更准确的新数据的实际可写量 |
列出目录
方法名 |
描述 |
String[] list() |
返回一个字符串数组,该字符串在用这个抽象路径名表示的目录中命名文件和目录 |
String[] list(FilenameFilter filter) |
返回一个字符串数组,该字符串在用这个抽象路径名表示的目录中命名文件和目录,该路径名满足指定的筛选器 |
File[] listFiles() |
返回一个抽象路径名数组,该路径名表示此抽象路径名所表示目录中的文件 |
File[] listFiles(FileFilter filter) |
返回一个抽象路径名数组,该抽象路径名表示该目录中满足指定筛选器的文件和目录 |
File[] listFiles(FilenameFilter filter) |
返回一个抽象路径名数组,该抽象路径名表示该目录中满足指定筛选器的文件和目录 |
创建修改文件或目录
方法名 |
描述 |
boolean createNewFile() |
当且仅当具有此名称的文件尚不存在时,原子性地创建一个由此抽象路径名命名的新空文件 |
static File createTempFile(String prefix, String suffix) |
在默认临时文件目录中创建一个空文件,使用给定的前缀和后缀生成它的名称 |
static File createTempFile(String prefix, String suffix, File directory) |
在指定的目录中创建一个新的空文件,使用给定的前缀和后缀字符串生成它的名称 |
boolean delete() |
删除由这个抽象路径名表示的文件或目录 |
void deleteOnExit() |
请求在虚拟机终止时删除以此抽象路径名表示的文件或目录 |
boolean mkdir() |
创建由这个抽象路径名命名的目录 |
boolean mkdirs() |
创建由这个抽象路径名命名的目录,包括任何必需但不存在的父目录 |
boolean renameTo(File dest) |
重命名由这个抽象路径名表示的文件 |
boolean setLastModified(long time) |
设置由此抽象路径名命名的文件或目录的最后修改时间 |
文件权限
boolean setExecutable(boolean executable, boolean ownerOnly)
boolean setExecutable(boolean executable)
boolean setReadable(boolean readable, boolean ownerOnly)
boolean setReadable(boolean readable)
boolean setWritable(boolean writable, boolean ownerOnly)
boolean setWritable(boolean writable)
网友评论