java中的IO:File类

本文详细介绍了Java中File类的功能和用法,包括如何创建、判断、创建和删除文件及文件夹,以及如何实现文件遍历和复制。适用于初学者了解和掌握File类的基本操作。

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

目录

1.File类的作用
2.File对象基本使用
3.实现文件遍历
4.实现文件"复制"

 
1.File类的作用

1)用来将文件或者文件夹封装成对象
2)方便对文件与文件夹的属性信息进行操作
3)File对象可以作为参数传递给流的构造函数
4)File对象是不可变的,一旦创建,File对象表示的抽象路径名将永不改变

 

2.File对象基本使用
2.1构造

1)路径:绝对路径名是完整的路径名,不需要任何其他信息就可以定位它所表示的文件;相对路径名必须使用取自其他路径名的信息进行解释.
2)分隔符:默认名称分隔符由系统属性file.separator定义,可通过此类的公共静态字段separator和separatorChar使其可用.

File(String pathname)将给定路径名字符串转换为抽象路径名来创建一个新File对象
File(File parent, String child)根据parent抽象路径名和child路径名字符串创建一个新File对象
File(String parent, String child)根据parent路径名字符串和child路径名字符串创建一个新File对象
File(URI uri)通过将给定的file:URI转换为一个抽象路径名来创建一个新的File对象
 2.2判断
exists()当前File对象是否存在
isFile()当前File对象是否是一个标准文件
isDirectory()当前File对象是否是一个目录
canRead()当前File对象是否可被读取
canWrite()当前File对象是否可被修改
canExecute()当前File对象是否可被执行
2.3创建
creatNewFile()当exists()为false时,创建一个File对象
mkDir()创建指定目录
mkDirs()创建指定目录,包括所有必需的父目录
2.4删除
delete()删除当前File对象
deleteOnExit()在虚拟机终止时,删除此File对象
2.5获取
getName()返回此File名称
listFiles()返回一个File数组,表示当前File所表示的目录中所有的文件
getPath()返回路径名称字符串
getAbsolutePath()返回绝对路径名称字符串

 

3.实现文件遍历

根据以上方法,我们可以实现对一个文件夹内所有的文件进行遍历:

public class FileDemo {

	public static void show(File file) {
		File[] files = file.listFiles();
		if (files != null && files.length != 0) {
			for (File sub : files) {
				show(sub);
			}
		}
		System.out.println(file.getParent() + " : " + file.getName());
	}

	public static void main(String[] args) {
		File file = new File("c:");
		show(file);
	}
}

执行代码后,会在控制台输出C盘下的所有文件及文件夹名.

 

4.实现文件"复制"

这里的复制指新建文件而并不复制其内部数据,要实现数据复制需要用到后面的流:

public class FileDemo {

	public static void copy(File src, File dir) throws IOException {
		if (!dir.isDirectory()) {
			System.out.println("指定路径不存在");
			return;
		}
		File dest = new File(dir, src.getName());
		if (src.isFile()) {
			dest.createNewFile();
		} else {
			dest.mkdir();
			File[] files = src.listFiles();
			for (File file : files) {
				copy(file, dest);
			}
		}
	}

	public static void main(String[] args) throws IOException {
		File file = new File("c:\\Program Files\\Common Files");
		File dir = new File("c:\\Users\\Administrator\\Desktop");
		copy(file, dir);
	}
}

执行代码后,会将Common Files及内部的所有文件"复制"到桌面.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值