【Java】File 文件类
File 文件类
File类的一个对象,代表了一个文件和一个文件目录/文件夹
File类所属在java.io 的包下
构造器部分
- 以parent为父文件,child为子路径创建File对象,可以理解为,根据parent一个已有文件对象,在child上写路径创建
- pathname,直接父子路径合写,可以绝对路径和相对路径
- parent父路径,child子路径创建文件对象
绝对路径 : 从盘根开始写到具体位置的目录或文件
相对路径:相对路径是指user.dir的路径为根路径出发,也就是从项目的目录开始
public class IOTest { public static void main(String[] args) { // 等同于 C:\Users\Administrator\IdeaProjects\1 - Java基础语法\fileSample.txt File file1 = new File("fileSample.txt"); // java层面的\ 需要进行转义处理 File file2 = new File("C:\\Users\\Administrator\\Desktop\\sop.txt"); } }
路径分割符的说明
Windows & DOS 默认使用 \ 表示
UNIX & URL 使用 / 表示
java程序是跨平台的,所以要注意分隔符的使用
所以在文件类中内置了一些分割符的属性
例如:public static final String separator 可动态的提供分隔符
// 使用分割符属性写法 File file3 = new File("C:"+ File.separator +"Users"+ File.separator +"Administrator"+ File.separator +"Desktop"+ File.separator +"sop.txt");
可这得拼接到什么时候?拼完猪都死了
File的获取方法
- 获取绝对路径 getAbsolutePath()
- 获取路径 getPath()
- 获取文件名/目录名 getName()
- 获取文件大小,字节的长度 length()
- 获取最后一次修改的时间 lastModified()
- 获取指定目录下的所有文件或目录,返回字符串数组 list()
- 获取指定目录下的所有文件或目录,返回文件数组 listFiles()
public class IOTest { public static void main(String[] args) { // 等同于 C:\Users\Administrator\IdeaProjects\1 - Java基础语法\fileSample.txt File file1 = new File("fileSample.txt"); System.out.println("绝对路径:" + file1.getAbsoluteFile()); System.out.println("路径:" +file1.getPath()); System.out.println("名称:" +file1.getName()); System.out.println("?:" +file1.getParent()); System.out.println("字节长度:" + file1.length()); System.out.println("修改时间:"+file1.lastModified()); File admin = new File("C:\\Users\\Administrator"); File[] files = admin.listFiles(); for (File file:files) { System.out.println(file); } } }
- 修改文件或目录名称 renameTo(File dest)
调用此方法的文件对象在硬盘中必须存在,且参数文件对象必须不存在
判断功能
- 是否是目录 isDirectory()
- 是否是文件 isFile()
- 是否存在 exists()
- 是否可读取 canRead()
- 是否可读写 canWrite()
- 是否是隐藏状态 isHidden()
修改功能
- 创建文件,如果存在则不执行,返回false createNewFile()
- 创建目录,如果存在则不执行,返回false mkdir()
- 创建多级目录 mkdir()
- 完全删除文件或目录 delete()