Java File类
java中我们通过java.io.File类实现对文件的基本属性进行操作,包括文件属性读取,文件创建,文件删除,文件添加等等。File是一个类,那么在使用的时候就需要创建对象,但是File类的实例是不可变的,也就是说,一旦创建,由File对象表示的抽象路径名将永远不会改变,也就是说利用构造方法,指定路径名、文件名等来构造File类的对象,之后调用该对象的createNewFile()方法就可以创建出相应的文件。
File类代表文件路径
File类的对象可以代表一个具体的文件路径,在实际运用种,可以使用绝对路径也可以使用相对路径,下面是创建文件对象实例
File f1=new File("d:\\test\\test.txt"); File f2=new File("test.txt"); File f3=new File("d:\\test"); File f4=new File("d:\\test\\","51gjie.txt")
f1,f2对象分别代表一个文件,f1是绝对路径,f2是相对路径,f3则是代表一个文件夹,文件夹也是文件路径的一种,f4代表的路径是d:\\test\\51gjie.txt 这种是使用父路径和子路径结合产生新的路径。
定义
public class File extends Object implements Serializable, Comparable<File>
构造函数
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 实例,这个一般用的比较少。
静态成员
public static final String pathSeparator
路径分割符,在 UNIX 系统上,此字段的值为 '/';在 Windows 系统上,它为 '\\'。
public static final String pathSeparatorChar
路径分割符':',在 UNIX 系统上,此字段为 ':';在Microsoft Windows 系统上,它为 ';'。
public static final char separator
分隔符"/"
public static final char separatorChar
分隔符'/'
常用方法
File.delete() 删除文件或文件夹目录。
File.createNewFile() 创建一个新的空文件。
File.mkdir() 创建一个新的空文件夹。
File.list() 获取指定目录下的文件和文件夹名称。
File.listFiles() 获取指定目录下的文件和文件夹对象。
File.exists() 文件或者文件夹是否存在
获取FILE属性方法
String getAbsolutePath() // 获取绝对路径 long getFreeSpace() // 返回分区中未分配的字节数。 String getName() // 返回文件或文件夹的名称。 String getParent() // 返回父目录的路径名字符串;如果没有指定父目录,则返回 null。 File getParentFile() // 返回父目录File对象 String getPath() // 返回路径名字符串。 long getTotalSpace() // 返回此文件分区大小。 long getUsableSpace() //返回占用字节数。 int hashCode() //文件哈希码。 long lastModified() // 返回文件最后一次被修改的时间。 long length() // 获取长度,字节数。 boolean canRead() //判断是否可读 boolean canWrite() //判断是否可写 boolean isHidden() //判断是否隐藏
设置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) // 设置所有用户的写权限。
例子
import java.io.File; public class FileTestDemo { public static void main(String[] args) throws Exception { File file = new File("c:\\51gjie.txt"); //返回文件的长度。 System.out.println("length==" + file.length()); //创建文件对象 File file3 = new File("c:\\51gjie", "code"); //判断文件或文件夹是否存在 boolean exists = file3.exists(); if(exists) { //存在就删除 file3.delete(); } else { //不存在就创建 file3.mkdirs(); } //判断该对像是否为一个文件夹。【文件夹必须存在】 boolean isd = file3.isDirectory(); } }
总结
1. File类的直接父类是Object类。一个File类的对象,表示了磁盘上的文件或目录。如果你创建文件或者文件夹忘了写盘符路径,那么,默认在项目路径下。
2. 在不同的计算机操作系统中,路径分割符号是不同的。windows系统的路径分隔符【\】与Unix系统的路径分隔符【/】不一样
3. File类提供了与平台无关的方法来对磁盘上的文件或目录进行操作。因为不同的系统平台对文件路径的描述不尽相同,所以为了做到平台无关,在Java语言中,使用抽象路径等概念。Java自动进行不同系统平台的文件路径描述与抽象文件路径之间的转换。
4. File对象用来获取或处理与磁盘文件相关的信息,例如权限,时间,日期和目录路径。可以直接处理文件和文件系统,同时还可以浏览子目录层次结构
版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。