Java 快速创建及递归删除文件

本文深入讲解了Java中File类的使用方法,包括如何创建文件、目录,以及如何递归删除文件和目录。通过实例代码展示了如何检查文件存在性、创建临时文件、删除文件和目录,同时提供了递归删除目录的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java File创建及递归删除文件

开发工具与关键技术:java、 elipse2019、jdk1.8
作者:Amewin
撰写时间:2019年4月13日

File 类的说明:
在 Java 中,File 类是java.io包中唯一代表磁盘文件本身的对象。File 类定义了一些与平台无关的方法来操作文件,File类主要用来获取或处理与磁盘文件相关的信息,像文件名、 文件路径、访问权限和修改日期等,还可以浏览子目录层次结构
实例代码

package xyz.file.cl;

import java.io.File;

public class FileClass {

	public static void main(String[] args) {
		String path = "F:\\独秀\\嘿嘿.txt";//指定对象路径

		File fileTwo = new File(path);//将path传入File对象中

		String str1 = "Test";//指定生成文件名
		String str2 = ".txt";//指定生成文件尾缀
		FileClass kk = new FileClass();//实例化当前;类对象

		kk.InserFiles(fileTwo, str1, str2);//调用封装号的方法

	}

	@SuppressWarnings("static-access")//作用:用于抑制编译器产生警告信息。
	public  void InserFiles(File file, String str1, String str2) {
		try {

			if (file.exists()) {
				//exists() 判断是否存在该文件或文件夹 返回True false
			
				//方法1
				File deleFile = file.getParentFile();
				//getParentFile() 返回此抽象路径名的父,或抽象路径名 null如果此路径名没有指定父目录。 
				
				File [] array = deleFile.listFiles();
				//返回一个抽象路径名数组,表示由该抽象路径名表示的目录中的文件。 
				
				for (File file2 : array) {
					//用foreach 遍历array
				
					if (!file2.isDirectory()) {
						//isDirectory()判断是否是文件夹  当是非文件夹是执行
						
						file2.delete();
						//delete()  File类中的方法删除文件或目录  
						//注:当一个文件夹中拥有文件时,时无法将整个文件夹直接删除,必须把子目录下删除才行
					}
				}
				
				deleFile.deleteOnExit();//请求在虚拟机终止时删除由此抽象路径名表示的文件或目录。 
				//方法1结束
				
				//方法而2  执行递归删除方法 
				//delete(deleFile);
				//方法而2结束  
				System.out.println("删除成功!");
			} else {

				File insertMk = file.getParentFile();
				//返回此抽象路径名的父,或抽象路径名 null如果此路径名没有指定父目录。 
				
				boolean typeMk = insertMk.mkdir();// mkdir()创建目录

				if (typeMk) {
					System.out.println("创建目录成功!");
				}

				file.createTempFile(str1, str2, insertMk);//创建指定文件

				boolean type = file.createNewFile();// 创建指定文件
				
				if (type) {
					selectFile(file,0);
					System.out.println("创建成功!");

				}

			}

		} catch (Exception e) {
			
			// TODO: handle exception
		}

	}
	//递归删除方法
	public static void delete(File f) {
		if (!f.exists()) {
			return;// 文件不存在,返回
		}
		File[] ff = f.listFiles();
		for (File def : ff) {
			if (def.isDirectory()) {
				delete(def);
			}
			def.delete();
		}
	}
	//查看当前文件夹文件方法
	static void selectFile(File fileTwo, int level){
		
		File deleFile = fileTwo.getParentFile();
	
			System.out.println(deleFile.getName());//打印文件路径名称
			
			   System.out.println("文件名称\t文件类型\t文件大小");
		        System.out.println("==========================");
		        String [] fileList=deleFile.list();    //调用不带参数的list()方法
		        for (int i=0;i<fileList.length;i++)
		        {    //遍历返回的字符数组
		            System.out.print(fileList[i]+"\t");
		            System.out.print((new File("C:/",fileList[i])).isFile()?"文件"+ "\t":"文件夹"+"\t");
		            System.out.println((new File("C:/",fileList[i])).length()+"字节");
		        }
			
		
		}
	
	}

演示效果
在这里插入图片描述

在这里插入图片描述
删除
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值