一、File类
java中我们通过java.io.File类实现对文件的基本属性进行操作,包括文件属性读取,文件创建,文 件删除,文件添加等等。File是一个类,那么在使用的时候就需要创建对象,但是File类的实例是不可变 的,也就是说,一旦创建,由File对象表示的抽象路径名将永远不会改变,也就是说利用构造方法,指定 路径名、文件名等来构造File类的对象,之后调用该对象的createNewFile()方法就可以创建出相应的文 件。 File类的对象可以代表一个具体的文件路径,在实际运用种,可以使用绝对路径也可以使用相对路径。
二、File工具类构造方法
构造方法 |
说明 |
new File("d:\test\test.txt") |
指定的目录下建立文件,如果路径不存在,则建立虚拟file对象 |
new File("test.txt") |
在当前项目根目录下建立文件 test.txt |
new File("d:\test") |
test可以是个目录,也可能是个文件 |
new File("d:\test\","test.dat") |
指定目录下,建立指定的文件 |
File f1=new File("d:\\test\\test.txt"); //指定的目录下建立文件,如果路径不存在,则建立虚拟file对象
File f2=new File("test.txt"); //在当前项目根目录下建立文件 test.txt
File f3=new File("d:\\test");//test可以是个目录,也可能是个文件
File f4=new File("d:\\test\\","test.dat");//指定目录下,建立指定的文件
1. File(String pathname) 通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。如果给定字符串是空字符串,那 么结果是空抽象路径名。
2. File(File parent, String child) 根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例,如果 parent 为 null,则创建一个新的 File 实例,这与调用给定 child 路径名字符串的单参数 File 构造方法的 效果一样。否则,parent 抽象路径名用于表示目录,child 路径名字符串用于表示目录或文件。如果 child 路径名字符串是绝对路径名,则用与系统有关的方式将它转换为一个相对路径名。如果 parent 是空抽象路径名,则通过将 child 转换为抽象路径名,并根据与系统有关的默认目录解析结果来创建 新的 File 实例。否则,将每个路径名字符串转换为一个抽象路径名,并根据父抽象路径名解析子抽象 路径名。
3. File(String parent, String child) parent指定路径(父目录),可以是File类对象也可以是字符串,child中也可以加入路径层级,但要 注意,所用的路径必须存在,不存在的路径不会新建。
4. File(URI uri) 通过将给定的 file: URI转换为一个抽象路径名来创建一个新的 File 实例,这个一般用的比较少。
三、常用方法
方法 |
说明 |
File.delete() |
删除文件或空目录文件夹目录 |
File.createNewFile() |
创建一个新的空文件 |
File.mkdir() |
创建一个新的空文件夹 |
File.mkdirs() |
批量建立多级目录 |
File.list() |
获取指定目录下的文件和文件夹名称 |
File.listFiles() |
获取指定目录下的文件和文件夹对象 |
File.exists() |
文件或者文件夹是否存在 |
String getParent() |
返回父目录的路径名字符串;如果没有指定父目录,则返回 null |
File getParentFile() |
返回父目录File对象 |
String getName() |
返回文件或文件夹的名称 |
String getAbsolutePath() |
获取绝对路径 |
String getPath() |
返回路径名字符串 |
long lastModified() |
返回文件最后一次被修改的时间 |
long length() |
获取长度,字节数 |
boolean canRead() |
判断是否可读 |
boolean canWrite() |
判断是否可写 |
boolean isHidden() |
判断是否隐藏 |
long getFreeSpace() |
返回分区中未分配的字节数 |
long getTotalSpace() |
返回此文件分区大小 |
long getUsableSpace() |
返回占用字节数 |
nt hashCode() |
文件哈希码 |
四、File属性的常用方法
方法 |
说明 |
static File[] listRoots() |
列出可用的文件系统根 |
boolean renameTo(File dest) |
重命名,剪切粘贴文件,移动 文件 |
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 setWritable(boolean writable) |
设置写权限 |
boolean setWritable(boolean writable, boolean ownerOnly) |
设置所有用户的写权限 |
五、File类总结
1. File类的直接父类是Object类。一个File类的对象,表示了磁盘上的文件或目录。如果你创建文 件或者文件夹忘了写盘符路径,那么,默认在项目路径下。
2. 在不同的计算机操作系统中,路径分割符号是不同的。windows系统的路径分隔符【\】与 Unix系统的路径分隔符【/】不一样。