粤嵌打卡第36天(Io操作(File笔记))

IO流的作用:可以在网络中传输文件,也可以读写文件

1.常用转移字符的使用

 \" 相当于字符的双引号
 \\ 相当于\
 \r\n 相当于wimdows系统的换行
 \n 相当于linux系统的换行

2.创建文件

File.separator依赖于系统的路径分隔符,为了java更好的跨平台性

示例代码:

	//File.separator依赖于系统的路径分隔符
	File file = new File("d:" + File.separator + "world.txt");
	file.createNewFile();

3.创建文件夹

mkdir创建一级文件夹

mkdirs创建多级文件夹

示例代码:

    File file = new File("d:\\abc");
     file.mkdir();//mkdir方法只创建一级目录
     File file = new File("d:\\a\\b\\c\\d\\e\\f");
    file.mkdirs();

4.File相关方法


5.遍历文件夹

示例代码:

public class TestFile5 {
	public static void main(String[] args) {
		//如何遍历文件夹
		File file = new File("d:\\tool");
		//通过listFiles返回数组接收文件内容
		File[] files = file.listFiles();
		for (File f : files) {
			if(f.isDirectory()) {
				File[] files2 = f.listFiles();
				for (File f2 : files2) {
					System.out.println(f2.getName());
				}
			}
		}
	}
}

6.递归遍历文件夹

如果遍历一个文件夹,但是文件夹中还有文件夹时,比较麻烦

如果删除一个文件夹,但是文件夹中还有其他内容时,也比较麻烦

递归指的是方法调用自身,但是如果没有结束条件,会出现栈内存溢出

//如何遍历一个文件夹下的所有文件
//如何删除文件夹以及文件夹中的所有文件

定义工具类

如何定义工具类???

  • 1)构造方法私有化,为了不让在外界创建对象

  • 2)所有方法都是静态方法,可以用类名直接调用

遍历显示和遍历删除文件夹内容

示例代码:

public class FileUtils {
	private FileUtils(){}
	//显示一个文件夹下的所有文件
	public static void showFiles(File file){
		if(file.isDirectory()) {
			File[] files = file.listFiles();
			for (File f : files) {
				System.out.println(f.getName());
				showFiles(f);
			}
		}
	}
	//如何删除文件
	public static void deleteFiles(File file){
		//如果是文件可以直接删除
		if(file.isFile()) {
			file.delete();
		} else {//如果不是文件,即文件夹,遍历并删除文件夹中的文件
			File[] files = file.listFiles();
			for (File f : files) {
				deleteFiles(f);
			}
		}
		//删除空的文件夹
		file.delete();
	}
}

7.文件过滤器(附加内容)




Io流的File类就介绍这么多了,对File类的其他方法操作还不太熟练的小可爱们,可以查看帮助文档

记得点赞+关注👉:

github地址:https://juejin.im/post/5defc077518825127d107c3f


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值