java IO流实现删除文件夹以及文件夹中的内容

Posted TheStar

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java IO流实现删除文件夹以及文件夹中的内容相关的知识,希望对你有一定的参考价值。

这篇主要是对IO文件流对文件常用处理中的删除文件夹,平时我们直接删除文件夹既可以删除里面的全部内容。

但是java在实现删除时,只能是文件才会被删除。

所以这里需要定义一个方法,来递归调用方法(递归调用,就是在方法的内部调用自己),实现文件夹里面的全部文件删除

注意:做这个测试的时候,一定要备份,如果删除成功就不会回复了

package com.teacher;

import java.io.File;

public class DeleteFile {

	public static void main(String[] args) {
		new DeleteFile().deleteFiles(new File("e:/io"));
	}
	/*
	 * 删除整个文件夹:
	 * 
	 * 当为目录时,递归调用删除子文件
	 *                      最后删除自己
	 * 当为文件执行最后一行,直接删除,
	 */
	
	public void deleteFiles(File file){
		if (file.isDirectory()) {
			File[] files=file.listFiles();
			for (int i = 0; i < files.length; i++) {
				if (files[i].isDirectory()) {
					deleteFiles(files[i]);
				}else {
					System.out.println("里层文件:"+files[i].getName()+"--------"+files[i].delete()); 
				}
			}			
		}
		System.out.println("外层文件:"+file.getName()+"--------"+file.delete()); 
	}
}

  

结果如下:

 

以上是关于java IO流实现删除文件夹以及文件夹中的内容的主要内容,如果未能解决你的问题,请参考以下文章

文件和IO流

java io流对文件的增删改查

Java中的IO流

Java IO流

IO流:File类的使用

Java IO—缓冲字符流以及IO中的装饰者模式