java对File的增删改查

本文介绍了Java中File类的使用,包括文件的创建、修改、删除及遍历。强调了创建文件需先建立父目录,删除仅能处理文件和空文件夹,修改会改变文件路径。此外,通过递归实现创建目录树。

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

File
1.概述:
Java文件类以抽象的方式代表文件名和目录路径名。该类主要用于文件和目录的创建、文件的查找和文件的删除等,File对象通常可以代表磁盘中实际存在的文件和目录。

2.常用方法
1>构造方法

new File(File parent, String child)  //根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。 
new File(String pathname)   //通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。 
new File(String parent, String child)  //根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。 
new File(URI uri)  //通过将给定的 file: URI 转换为一个抽象路径名来创建一个新的 File 实例。 

2>常用方法

boolean exists():是否存在
String getAbsolutePath():绝对路径
String getName():文件名
int length():文件大小
String getParent():父目录路径
File getParentFile():父目录file对象
boolean isDirectory() 测试此抽象路径名表示的文件是否是一个目录。 
boolan isFile() 测试此抽象路径名表示的文件是否是一个标准文件。 

File的增删改查
1.创建文件

//构建路径
String pathname = "d:" + File.separator + "a" + File.separator + "b.txt";
//创建文件对象
File file = new File(pathname);
System.out.println("是否存在" + file.exists());
File parentFile = file.getParentFile();
System.out.println("目录是否创建成功" + parentFile.mkdirs());
System.out.println("文件创建是否成功" + file.createNewFile());

2.修改

String pathname2 = "d:" + File.separator + "b" + File.separator + "c.txt";
File dest = new File(pathname2);
System.out.println("是否修改" + file.renameTo(dest));

3.删除
1>简单地删除,只能删除文件和空文件夹

System.out.println("是否删除" + file.delete());
//file.deleteOnExit()当虚拟机终止时请求删除文件和文件夹

2>运用,可以删除文件夹

public static void deleteFile(File file) {
//如果是文件,可以直接删除
		if (file.isFile())
			file.delete();
		else {
			for (File file2 : file.listFiles()) {
				deleteFile(file2);
			}
			file.delete();
		}
	}

4.遍历

File[] files = file.listFiles();
for (File file2 : files) {
//查找所需的文件
	if (file2.getName().endsWith(".txt") && file2.isFile()) {
		System.out.println(file2);
		}
	}

创建目录树
运用递归的方法将复杂的问题简单化,一步一步的降解,最终化为可以简单解决的小问题

public static void printFile(File file, int leve) {
		for (int i = 0; i < leve; i++) {
			System.out.print("--");
		}
		System.out.println(file.getName());
		//如果为空或者文件不存在,结束方法
		if (null == file || !file.exists()) {
			return;
		} else if (file.isDirectory()) {
			for (File file2 : file.listFiles()) {
				printFile(file2, leve + 1);
			}
		}
	}

总结
1.创建文件不能创建文件的目录,所以要先构建其父目录;
2.删除只能删除文件或空文件夹;
3.修改时文件名发生改变,此时文件路径将发生改变;
4.list()返回的是一个String数组,listFiles()返回的是File数组。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值