什么是File类?
File类位于java.io.File
类,File类是文件和目录路径名的抽象表示,主要是用于文件和目录的创建、查找和删除等操作
File类的四个字段分别是什么
1. static String pathSeparator
表示与系统有关的路径分隔符,为了方便,它被表示为一个字符串。
在windows系统中路径的分隔符是分号;在Linux系统中路径的分隔符是冒号
该路径分割符表示的是多个字符串路径在windows中才使用;作为分割符
比如环境变量中就有这样的分隔符
2、static char pathSeparatorChar
表示与系统有关的路径分隔符。
3、static String separator
与系统有关的默认名称分隔符,为了方便,它被表示为一个字符串。
这就是我们平时看的路径下的目录分隔符
例如
4、static char separatorChar
与系统有关的默认名称分隔符。
在Windows系统中文件名称的分隔符是反斜杠 \ ;在Linux系统中则是正斜杠 /
File类的构造方法
1、File(String pathname)
作用: 通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。
参数的注意事项
① String pathname:字符串的路径名称
② 路径可以是以文件结尾,也可以是以文件夹结尾
③ 路径可以是相对路径,也可以是绝对路径
④ 路径可以是存在的,也可以是不存在的
⑤ 创建File对象,只是把字符串路径封装为File对象,不考虑路径的真假
2、File(String parent, String child)
作用: 根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。
3、File(File parent, String child)
作用:根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。
抽象路径名其实就是File对象sout出来的字符串,无论是否存在,这个字符串我们称之为抽象路径名
File类的常用方法
File类获取功能的方法
1、public String getAbsolutePath()
作用:返回此抽象路径名的绝对路径名字符串。
注意事项:
该方法返回此File对象的绝对路径字符串表示,获取的是构造方法中传递的路径,无论你传递进去的是绝对路径还是相对路径,使用方法后的到的都是绝对路径
2、public String getPath()
作用:将此File转换为路径名字符串表示
注意事项:
你往File构造方法中传入的是绝对路径,使用该方法的到的就是绝对路径;传入的是相对路径,使用该方法的到的就是相对路径。我们在直接打印输出File类的对象的时候得到的路径和调用toString方法得到的路径相同,查看File类的源码public String toString() { return getPath(); }
得知File类覆盖重写了toString方法用于返回File对象的路径
3、public String getName()
作用:返回由此File表示的文件或目录名称,就是获取构造方法中传入的路径结尾的文件或者目录
查看源码发现
4、public long length()
作用:返回由此File表示的文件的长度,多少字节(如果抽象路径下不存在该文件那么返回0字节)
File类判断功能的方法
1、public boolean exists()
作用:判断此File表示的文件或者目录是否真实存在,存在则返回true,不存在则返回false
2、public boolean isDirctory()
作用:判断此File表示的是否为目录,是则返回true,不是则返回false
注意:
判断之前必须保证路径真实存在,否则返回false
3、public boolean isFile()
作用:判断此file表示的是否为文件,是则返回true,不是则返回false
注意:
判断之前必须保证路径真实存在,否则返回fals、
File类删除功能的方法
1、public boolean createNewFile()
该方法需要处理异常
作用:当且仅当具有该名称的文件不存在的时候,创建一个新的空文件
返回值:当文件不存在的时候,它会创建文件并且返回true;当文件存在的时候,返回false
注意:
① 此方法只能创建二五年间,不能创建文件夹
② 创建文件的路径必须真实存在,否则在使用该方法的时候会抛出异常
2、public boolean delete()
作用:删除由此File表示的文件或目录
3、public boolean mkdir()
作用:创建由此File表示的目录
返回值:当文件不存在时,创建文件夹并且返回true;当文件夹存在的时候,不会创建新的文件夹,返回false而且当路径不存在的时候也会返回false
只能在存在的路径上创建一个目录(目录就是文件夹,不能有后缀)
4、public boolean mkdirs()
作用:创建由此File表示的目录,包括任何必须但不存在的父目录(创建多级目录/也就是创建多级文件夹)
用于创建多级目录
目录的遍历
遍历目录的方法
1、public String[] list()
作用:返回一个String数组,表示该File目录中的所有子文件或者目录名称(隐藏文件也能获取到)
2、public File[] listFiles()
作用:返回一个File数组(如果打印出来的话就是文件的路径表示)
像这样
,表示该File目录中所有的子文件或目录
注意事项:
list方法和lidtFiles方法遍历的是构造方法中给出的目录。如果构造方法中给出的目录的路径不存在,则会抛出空指针异常;如果构造方法中给出的路径不是一个目录也会抛出空指针异常