Java - File对象

你说的曾经没有我的故事 提交于 2020-03-11 12:48:00

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开头的文件名
    }
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!