1、File类的判断文件类型、获取文件信息功能
方法名称 说明 public boolean isDirectory() 测试此 抽象路径名 表示的 File是否为 文件夹 public boolean isFile() 测试此 抽象路径名 表示的 File 是否为 文件 (狭义概念) public boolean exists() 测试此 抽象路径名 表示的 File 是否 存在 public String getAbsolutePath() 返回此 抽象路径名 的 绝对 路径 名字符串 public String getPath() 将此 抽象路径名 转换为 路径 名字符串 public String getName()
返回由此 抽象路径名 表示的 文件 或 文件夹 的 名称 public long lastModified() 返回文件 最后 修改 的 时间毫秒值 package com.csdn.d1_file; import java.io.File; import java.text.SimpleDateFormat; public class FileMethodDemo { public static void main(String[] args) { //1.绝对路径创建一个文件对象 File f1 = new File("F:\\IdeaProjects\\workspace\\file-io-app\\src\\com\\csdn\\d1_file\\FileMethodDemo.java"); //获取文件的绝对的路径 File absoluteFile = f1.getAbsoluteFile(); System.out.println(absoluteFile);//F:\IdeaProjects\workspace\file-io-app\src\com\csdn\d1_file\FileMethodDemo.java //获取文件定义的时候使用的路径 String path = f1.getPath(); System.out.println(path);//F:\IdeaProjects\workspace\file-io-app\src\com\csdn\d1_file\FileMethodDemo.java //获取文件的名称 String name = f1.getName(); System.out.println(name);//FileMethodDemo.java //获取文件的字节个数 long length = f1.length(); System.out.println(length);//1849 //获取文件的最后修改时间 long l = f1.lastModified(); System.out.println(l);//1694952990458 SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd/ HH:mm:ss"); String format = sdf.format(l); System.out.println(format);//2023/09/17/ 20:16:15 //判断文件是文件还是文件夹 System.out.println(f1.isDirectory());//false System.out.println(f1.isFile());//true //判断路径是否存在 System.out.println(f1.exists());//true //如果文件不存在,就不在判断文件是文件还是文件夹 File file = new File("D:/csdn"); System.out.println(file.isFile());//false System.out.println(file.isDirectory());//false System.out.println(file.exists());//false } }
2、File类创建、删除文件的功能
方法名称 说明 public boolean createNewFile() 创建一个新的空的文件 public boolean mkdir() 只能创建一级文件夹 public boolean mkdirs() 可以创建多级文件夹 public boolean delete() 删除由此对象路径表示的 文件 或 空文件夹
- delete方法直接删除不走回收站;如果删除的是一个文件,且文件没有被占用则直接删除
- delete方法默认只能删除空文件夹
- delete方法,如果有多级目录,只能一级一级的删除,执行一次删除一层
3、File类的遍历功能
方法名称 说明 public String[ ] list() 获取当前 目录 下所有的“一级文件名称”到一个字符串数组中去返回。 public File[ ] listFiles()(常用) 获取当前 目录 下所有的“一级文件对象”到一个文件对象数组中去返回(重点) 3.1、listFiles方法注意事项:
- 当调用者不存在时,返回null
- 当调用者是一个文件时,返回null
- 当调用者是一个空文件夹时,返回一个长度为0的数组
- 当调用者是一个 有内容的文件夹 时,将里面所有文件和文件夹的路径放在File数组中返回。(这是符号我们要求的)
- 当调用者是一个有隐藏文件的文件夹时,将里面所有文件和文件夹的路径放在File数组中返回,包含隐藏内容
package com.csdn.d1_file; import java.io.File; import java.util.Arrays; public class ListFiles { public static void main(String[] args) { //定位一个目录 File f1 = new File("F:\\IdeaProjects"); System.out.println(Arrays.toString(f1.list())); //遍历存在的文件夹 File[] files = f1.listFiles(); for (File file : files) { System.out.println(file.getAbsolutePath()); } //遍历不存在的文件夹 File dir = new File("D:\\aaa"); System.out.println(Arrays.toString(dir.listFiles()));//null } } D:\Java\jdk-17\bin\java.exe [atguigujavaweb, basic-code, basic-code-code, DataStructures, DesignPattern, itcastjavaweb, JavaSenior, javaweb, JVMDemo, maven-basic, mybatis1, MySQL0724, spring1, tank, workspace, 基于Springboot大型物流运输企业库存管理系统] F:\IdeaProjects\atguigujavaweb F:\IdeaProjects\basic-code F:\IdeaProjects\basic-code-code F:\IdeaProjects\DataStructures F:\IdeaProjects\DesignPattern F:\IdeaProjects\itcastjavaweb F:\IdeaProjects\JavaSenior F:\IdeaProjects\javaweb F:\IdeaProjects\JVMDemo F:\IdeaProjects\maven-basic F:\IdeaProjects\mybatis1 F:\IdeaProjects\MySQL0724 F:\IdeaProjects\spring1 F:\IdeaProjects\tank F:\IdeaProjects\workspace F:\IdeaProjects\基于Springboot大型物流运输企业库存管理系统 null Process finished with exit code 0
4、如何遍历文件夹下的文件对象,使用哪个API,有什么特点?
- public File[ ] listFiles()(常用)
- 只能遍历当前文件夹对象下的一级文件对象
File类常用方法( public File[ ] listFiles())获取当前目录下所有的一级文件对象到一个文件对象数组中去返回
于 2023-09-17 20:27:34 首次发布