File:IO流操作中的大部分都是对文件的操作,所以java就提供了File类供我们来操作文件
构造方法
A: File file = new File("e:\\demo\\a.txt");
B: File file = new File("e:\\demo","a.txt");
C: File file = new File("e:\\demo");
File file2 = new File(file,"a.txt");File 类的功能
A:创建功能:public boolean createNewFile():创建文件
eg: File file2 = new File("e:\\demo\\a.txt")
注意:要想在文件夹下创建文件必须先存在文件夹,不能同时创建
public boolean mkdir():创建文件夹
eg:File file = new File("e:\\demo")
public boolean mkdirs():创建多个文件夹,如果父文件夹不存在,会帮忙创建出来 B:删除功能:public boolean delete():删除文件或者文件夹
File file3 = new File ("a.txt")
System.out.println(file3.delete())
C:重命名:pubilc boolean renameto(File dest)
File file3 = new File ("a.txt")
File newfile3 = new File ("b.txt")
System.out.println(file3.renameto( newfile3))
D:判断:
E:获取:
------------------------------------------------------------
高级获取功能
public String[]list() 获取指定目录下的所有文件或者文件夹名称的数组
public File[]listFiles() 获取指定目录下的所有文件或者文件夹数组
分隔符
File.pathSeparator 路径分割符,window(分号 ; ) Linux(冒号 :)
File.separator 文件/文件夹分隔符,window( \ ) Linux( / )2.构造方法
File (String pathname)
File (String parent, String child)
File (File parent, String child)3.获取
String getName() 返回File表示的文件或目录的名字
String getPath() 将此File转换为路径名字符串。
当我们封装File对象的时候,给的是什么路径,获取的就是什么路径.
String getAbsoluetPath() 返回此File的绝对路径名字符串
long length() :返回由此File表示的文件的长度。文件夹是没有大小的.
如果我们封装的File对象的路径不存在,返回的也是0字节4.判断
boolean exists() 判断File表示的文件或目录是否真实存在
boolean isDirectory() 判断是否是文件夹/目录
boolean isFile() 判断是否是文件5.创建/删除
createNewFile() 当且仅当具有该名称的文件尚不存在时,创建文件
mkdir() 创建单级目录/文件夹
mkdirs() 创建多级目录
delete() 删除文件或者文件夹,只能删除空文件夹
注:这个删除是直接在磁盘上删除,不走回收站6.遍历文件夹(递归思想)
String[] list() 返回目录下所有文件或文件夹名字的数组
File[] listFiles() 返回目录下所有文件或文件夹对象数组
File[] listFiles(FileFilter filter)
File[] listFiles(FilenameFilter filter)
注:
list方法和listFiles方法遍历的是构造方法中给出的目录(不能是文件路径)
如果构造方法中给出的目录的路径不存在,会抛出空指针异常
如果构造方法中给出的路径不是一个目录,也会抛出空指针异常7.FileFilter和FilenameFilter
FileFilter和FilenameFilter都是接口,没有实现类,使用时自己实现,与Comparator相似
FileFilter
boolean accept(File pathname)
FilenameFilter
boolean accept(File dir, String child)