Java File
文章目录
- Java File
- 常用方法
- File 表示文件时
- File 表示目录时
- 常用案例
- 1 递归显示文件夹和文件
- 2 递归删除
概念:代表物理盘符中的一个文件或者文件夹。
常用方法:
createNewFile()//创建一个新文件
mkdirs()//创建一个新目录
delete()//删除文件或空目录
exists()//判断File对象所对象所代表的对象是否存在
getAbsolutePath()//获取文件的绝对路径
getName()//取得名字
getParent()//获取文件/目录所在的目录
isDirectory()//是否是目录
isFile()//是否是文件
length()//获得文件的长度
listFiles()//列出目录中的所有内容
renameTo()//修改文件名
eg:
常用方法
File 表示文件时
/**File: 表示文件1 创建2 删除3 获取4 判断5 重命名*/
public static void fileOpe() throws IOException {//File对象: 表示磁盘中的一个文件File file = new File("e:\\javaee2308.txt");System.out.println(file);//1 创建if (!file.exists()) {System.out.println("创建结果:"+file.createNewFile());} else {System.out.println("文件已存在...");}//2 删除// System.out.println("删除结果"+file.delete());//3 获取System.out.println("文件名:"+file.getName());System.out.println("文件路径:"+file.getPath());System.out.println("文件绝对路径:"+file.getAbsolutePath());System.out.println("文件大小:"+file.length());System.out.println("文件最后一次的修改时间:"+new Date(file.lastModified()));//4 判断System.out.println("判断是否存在:"+file.exists());System.out.println("判断是否是文件:"+file.isFile());System.out.println("判断是否隐藏:"+file.isHidden());System.out.println("判断是否可写:"+file.canWrite());//5 重命名(具有剪切功能)System.out.println("重命名结果:"+file.renameTo(new File("e:\\QianFeng\\aaa.txt")));
}
File 表示目录时
/**File: 表示目录1 创建2 删除3 获取4 判断5 重命名6 获取目录中的文件和子目录*/
public static void dirOpe() {//创建File对象File dir = new File("e:\\aaa\\bbb\\ccc");System.out.println(dir);//1 创建//dir.mkdir(); //单级目录//多级目录if (dir.exists()) {System.out.println("创建结果:" + dir.mkdirs());} else {System.out.println("已存在");}//2 删除// System.out.println(dir.delete());//3 获取System.out.println("目录名:"+dir.getName());System.out.println("获取路径:"+dir.getPath());System.out.println("获取绝对路径:"+dir.getAbsolutePath());//4 判断System.out.println("判断是否存在:"+dir.exists());System.out.println("判断是否是目录:"+dir.isDirectory());System.out.println("判断是否隐藏:"+dir.isHidden());//5 重命名System.out.println("重命名结果:"+dir.renameTo(new File("e\\aaa\\bbb\\xxx")));//6 获取目录中的子目录和文件File dir2 = new File("D:\\Users\\胡昊龙\\Pictures\\美图");File[] files = dir2.listFiles(new FilenameFilter() {@Overridepublic boolean accept(File dir, String name) {return name.endsWith(".png");}});if (files != null) {for (File file : files) {System.out.println(file.getName());}}
}
常用案例
1 递归显示文件夹和文件
代码演示:
package StageOne.day21.demoIO;import java.io.File;/*** @author 胡昊龙* @version 1.0* @description: TODO* @date 2024/1/16 17:09*/
public class TestFile2 {public static void main(String[] args) {listDir(new File("D:\\Users\\胡昊龙\\Pictures"),0);}//案例1:递归显示文件夹public static void listDir(File dir, int level) {File[] files = dir.listFiles();System.out.println(getSep(level)+dir.getName());level++;if (files != null) {for (File file : files) {if (file.isDirectory()) {listDir(file,level);} else {System.out.println(getSep(level)+file.getName());}}}}//目录分级显示public static String getSep(int level) {StringBuilder builder = new StringBuilder("|");for (int i = 0; i < level; i++) {builder.append("__");}return builder.toString();}
}
2 递归删除
代码演示:
//案例2:递归删除目录
public static void listDelete(File dir){File[] files = dir.listFiles();if (files != null) {for (File file : files) {if(file.isDirectory()){listDelete(file);}else{System.out.println(file+"..."+file.delete());//删除文件}}}System.out.println(dir+"..."+dir.delete());//删除目录
}