1、File
1.1 创建File对象



//构建文件对象
File file1=new File("E:/import/Keypoints/1.docx");
//查看文件字节大小
System.out.println(file1.length());
//查看文件是否存在
System.out.println(file1.exists());
//也可以是文件夹对象
File f1=new File("E:/import/Keypoints/1");
System.out.println(f1.length());//文件夹的话 并不是说文件夹里存放文件的所有大小 而是而文件夹存放里边文件信息的大小 类似操作系统文件控制块...
//对于在该模块下的文件 可以直接写相对路径
File file=new File("hello-app\\cy.txt");
// File file=new File("E:\\java_code\\project\\hello-app\\cy.txt");
System.out.println(file.length());
//也可以指向一个不存在文件
File f2=new File("D:/a");
System.out.println(f2.length());//0
//文件分隔符 可以是 \\ 也可以是 / 也可以用通用的 会根据系统采用什么分隔符来确定
File f3=new File("D:"+File.separator+"....");
1.2 常用方法
//构建文件对象 指代某个文件
File file1=new File("E:/import/Keypoints/1");
File file=new File("hello-app/cy.txt");
//文件是否存在
System.out.println(file.exists());//true
//是否是文件
System.out.println(file.isFile());//true
//是否是文件夹
System.out.println(file1.isDirectory()); //true
//获取文件名称(包含后缀
System.out.println(file.getName());//cy.txt
System.out.println(file1.getName());//1
//获取文件大小,返回long类型字节数
System.out.println(file.length());//3
//返回最后修改时间
long l = file1.lastModified();
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
String format = simpleDateFormat.format(l);
System.out.println(format);//2024/01/03 11:51:13
//获取创建文件时使用的路径
System.out.println(file.getPath());//hello-app\cy.txt
System.out.println(file1.getPath());//E:\import\Keypoints\1
//获取绝对路径
System.out.println(file.getAbsoluteFile());//E:\java_code\project\hello-app\cy.txt
System.out.println(file1.getAbsoluteFile());//E:\import\Keypoints\1

创建删除

//创建新文件 如果创建成功返回true 如果存在或者创建失败 返回flase
File f1=new File("D:/a.txt");
boolean newFile = f1.createNewFile();
System.out.println(newFile);//true
//创建 一级文件夹
File f2=new File("D:/aaa");
System.out.println(f2.mkdir());
//创建多级文件夹
File f3=new File("D:/aaa/bbb/ccc/ddd");
System.out.println(f3.mkdirs());
//删除文件或者空文件夹 不能删除非空文件夹 可以删除非空文件
System.out.println(f1.delete());//true
System.out.println(f2.delete()); //fasle
System.out.println(file.delete()); //true
遍历文件夹

//将当前目录下的一级文件名 保存到一个String数组中
File file4=new File("D:\\JAVA");
String[] lists = file4.list();
for (String list : lists) {
System.out.println(list);
}
//将当前目录下的一级文件名 保存到一个File数组中
File[] files = file4.listFiles();
System.out.println(Arrays.toString(files)); //[D:\JAVA\api文档, D:\JAVA\jdk-17.0.8, D:\JAVA\jdk-17_windows-x64_bin.zip, D:\JAVA\ppt, D:\JAVA\激活码]
for (File file2 : files) {
System.out.println(file2.getName());//api文档 jdk-17.0.8 jdk-17_windows-x64_bin.zip ppt 激活码
}
递归实现 多级遍历
public static void sort(File dir, String fileName){
if(dir==null||!dir.exists()||dir.isFile()){
return;}
//目录存在 且目录里有一级目录 并且 目录不是文件
File[] files = dir.listFiles();
//文件不为空
if(files!=null&&files.length>0){
for (File file : files) {
// System.out.println(file.getName());
//如果是文件
if(file.isFile()){
// System.out.println(file.getName());
if(file.getName().contains(fileName)){
System.out.println("找到了,"+file.getAbsolutePath());
}}
else {
// System.out.println(file.getName());
sort(file, fileName);//递归查找。
}
}
}
}}
删除一个非空文件夹
public static void delete(File file){
if(!file.exists()||file==null)
return;
if(file.isFile())
file.delete();
File[] files = file.listFiles();
if (files==null)
return;//无权限
for (File file1 : files) {
delete(file1);
}
file.delete();
}
文件夹无权限 返回null 文件夹 为空 length 为0

3481

被折叠的 条评论
为什么被折叠?



