File类方法1.构造方法
2.创建方法
注意:
删除的文件或者文件夹都是直接抹除数据并非放入回收站内
不能删除非空的文件夹
4.判断文件属性
方法 作用
boolean isFile(); 判断是否是一个普通文件
boolean isDirctory(); 判断是否是一个文件夹
boolean isAbsolute(); 判断是否使用了绝对路径
boolean isHidden(); 判断是否是隐藏文件
boolean exists(); 判断文件是否存在
5.获取文件属性
方法 作用
String getPath(); 获取File类对象保存的路径
String getName(); 获取当前File类对象中保存的文件名或者文件夹名
String getParent(); 获取当前File类对象对应文件或者文件夹的父目录路径
String getAbsolutePath(); 获取当File类对象对应文件或者文件夹的绝对路径
long lastModified() 获取文件的最后一次修改时间
long length(); 获取文件的大小,占用硬盘空间字节数
以上方法的前4个方法哪怕对应文件不存在也不会报错
列表方法
方法 作用
static File[] listRoots(); 获 取当前电脑内所有根盘符对象 (针对windows操纵系统)
File[] listFiles(); 当前File类对象对应文件夹 下的所有子文件或者子文件夹
String[] list(); 当前File类对象对应文件夹 下的所有子文件或者子文件夹的String类型文件名或者文件 夹名字
假设我的E盘创建文件文件夹下有一个bbb文件。
案例代码
获取 File 类有三种形式:
[Java]
纯文本查看
复制代码
1 2 3 4 5 6 | <font style="color:rgb(77, 77, 77)"><font face="""><font style="font-size:16px">1. File(String pathName); 根据当前路径获取File对象,可以是文件,也可以是文件夹。2. File(String parent, String child); 根据对应的父文件路径,以及子文件或子文件夹名创建对应的 File 对象。3. File(File parent, String child); 根据对应的父目录文件夹File类对象,以及子文件 名或者子文件夹名,创建对应File </font></font></font> |
[Java]
纯文本查看
复制代码
1 2 3 4 5 6 | <font style="color:rgb(77, 77, 77)"><font face="""><font style="font-size:16px">//获取E盘创建文件文件夹下的bbbFile file = new File("E:/创建文件/bbb");//获取E盘创建文件文件夹下aaa 文件夹下的 1.txtFile file2 = new File("E:/创建文件/aaa", "1.txt");//获取E盘创建文件文件夹下的bbb文件夹中的 bbbFile file3 = new File(file, "bbb");</font></font></font> |
[Java]
纯文本查看
复制代码
1 2 | 1. boolean createNewFile(); 创建普通文件,创建成功返回true,失败返回false2. boolean mkdir(); 创建文件夹,创建成功返回true,失败返回false |
[Java]
纯文本查看
复制代码
01 02 03 04 05 06 07 08 09 10 | //第一种获取File对象方式File file = new File("E:/创建文件/bbb");// 第三中获取方式File file3 = new File(file, "bbb");//在 E:/创建文件/bbb 目录下创建 bbb 文件夹System.out.println(file3.mkdir());/** 在 E:/创建文件/bbb 目录下创建 bbb 文件* System.out.println(file3.createNewFile());*/ |
3.删除方法
[Java]
纯文本查看
复制代码
1 2 | 1. boolean delete(); 通过File类对象调用,删除对应的文件或者文件夹 2. void deleteOnExit(); 程序退出时删除对应的文件或者文件夹 |
注意:
删除的文件或者文件夹都是直接抹除数据并非放入回收站内
不能删除非空的文件夹
4.判断文件属性
方法 作用
boolean isFile(); 判断是否是一个普通文件
boolean isDirctory(); 判断是否是一个文件夹
boolean isAbsolute(); 判断是否使用了绝对路径
boolean isHidden(); 判断是否是隐藏文件
boolean exists(); 判断文件是否存在
5.获取文件属性
方法 作用
String getPath(); 获取File类对象保存的路径
String getName(); 获取当前File类对象中保存的文件名或者文件夹名
String getParent(); 获取当前File类对象对应文件或者文件夹的父目录路径
String getAbsolutePath(); 获取当File类对象对应文件或者文件夹的绝对路径
long lastModified() 获取文件的最后一次修改时间
long length(); 获取文件的大小,占用硬盘空间字节数
以上方法的前4个方法哪怕对应文件不存在也不会报错
列表方法
方法 作用
static File[] listRoots(); 获 取当前电脑内所有根盘符对象 (针对windows操纵系统)
File[] listFiles(); 当前File类对象对应文件夹 下的所有子文件或者子文件夹
String[] list(); 当前File类对象对应文件夹 下的所有子文件或者子文件夹的String类型文件名或者文件 夹名字
假设我的E盘创建文件文件夹下有一个bbb文件。
[Java]
纯文本查看
复制代码
01 02 03 04 05 06 07 08 09 10 11 | File file = new File("E:/创建文件");String[] listFiles = file.list();for (String files : listFiles) { //此处只输出文件名 如 bbb(路径E:/创建文件/bbb) System.out.println(files);}File[] listFiles2 = file.listFiles();for (File files : listFiles2) { //此处输出E:\创建文件\bbb System.out.println(files);} |
案例
如果在某路径下有一堆文件,现在让你将这些文件进行分类(比如txt文件,放在TXT文件夹下;ppt文件放在PPT文件夹下…)
[Java]
纯文本查看
复制代码
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | // 目标文件夹的File类对象 File file = new File("E\\创建文件"); // 需要创建的文件夹类对象 File toBeCreateDir = null; // 判断是否是文件夹 if (!file.isDirectory()) { return; } // 当前文件夹已经归档完成,不需要再次归档 if(new File(file, "1.lock").exists()) { System.out.println("已经归档完成"); return; } // 当前文件夹下的所有子文件和子文件夹的File类对象数组 File[] listFiles = file.listFiles(); // 遍历File类对象数组 for (File srcFile : listFiles) { // 如果是普通文件,获取文件后缀名 if (srcFile.isFile()) { String fileName = srcFile.getName(); / * substing(int i);截取从i位置开始的字符串 * lastIndexOf(int ch) 字符最后出现的位置 * toUpperCase();转为大写字符 */ String upperSuffix = fileName.substring(fileName.lastIndexOf('.') + 1) .toUpperCase(); toBeCreateDir = new File(file, upperSuffix); } else { toBeCreateDir = new File(file, "subDir"); } // 创建文件夹 toBeCreateDir.mkdir(); // 移动文件或者文件夹 srcFile.renameTo(new File(toBeCreateDir, srcFile.getName())); } // 创建一个锁文件 new File(file, "1.lock").createNewFile(); |