File封装对象对文件和目录属性操作
用来将文件或者文件夹封装成对象 方便对文件与文件夹的属性信息进行操作 File对象可以作为参数传递给流的构造函数
File常用方法
● 构造:
File(String path):根据路径构造一个文件
● 获取:
String getName():获取文件名 String getAbsolutePath():获取绝对路径,带盘符的路径 String getPath():获取文件相对路径,根据File对象参数获取路径 long length():获取文件大小 long lastModified():获取文件最后的修改时间,毫秒值
● 创建与删除:
boolean createNewFile():如果文件不存在就创建文件返回true,文件存在则不创建并返回false boolean mkdir():创建一个目录文件夹 boolean mkdirs():创建多级目录文件夹 boolean delete():删除文件或文件夹,删除文件夹,单个文件夹如果内容为空时删除成功,如果文件夹有多层则会删除最里面的空文件夹 deleteOnExit():虚拟机退出时删除文件
● 判断:
boolean exists():判断文件是否存在 boolean isDirectory():判断是否为目录 boolean isFile():判断是否为文件 boolean isHidden():判断是否为隐藏文件
● 常用功能:
boolean renameTo(File dets):重命名,实际上也可以实现移动,同路径为则重命名,不同路径就剪切后重命名 String [] list():列举文件或目录,获取目录下所有文件和子目录的名称 String [] list(FileNameFilter filter):使用文件名过滤器,获取目录下过滤器指定名称的文件或子目录 File [] listFiles():列举文件,获取目录下所有文件和子目录 File [] listFiles(FileFilter filter):使用文件过滤器,列举文件 void close():关闭文件流
● 系统根目录和容量获取:
File [] listRoots():根目录获取,获取所有盘符根目录 long getTotalSpace():获取指定分区总容量 long getFreeSpace():获取指定分区可用空间 long getUsableSpace():获取该分区可用于虚拟机上的字节数
● 文件属性设置:
setWritable(boolean b):设置文件是否为可写 setReadable(boolean b):设置文件是否为可读 setReadOnly(boolean b):设置文件为只读
实例:过滤器
//文件过滤器 package cn.itcast.io.p2.File.demo; import java.io.File; import java.io.FileFilter; public class FileByHidden implements FileFilter {//实现FileFilter接口,覆盖accept方法 @Override public boolean accept(File pathname) { return !pathname.isHidden();//返回非隐藏文件 } } //文件名过滤器 package cn.itcast.io.p2.File.demo; import java.io.File; import java.io.FilenameFilter; public class MyFilter implements FilenameFilter {//实现FilenameFilter接口,覆盖accept方法 @Override public boolean accept(File dir, String name) { return name.startsWith("Demo");//返回Demo开头的文件名 } }
来源:https://www.cnblogs.com/Dm920/p/12461451.html