java对File的增删改查

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数组。


版权声明:本文为AFU1007原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。