Java文件流删除文件夹及文件夹中的文件

423 阅读1分钟
import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.OutputStream;

import java.nio.charset.Charset;

public class Boy{

public static void main(String[] args) throws IOException
{
	String str = "E:/data";
	String text = "user2.txt";
	String data = "abcdefgdd";
	File file = new File(str);
	if(file.exists())
	{
		deleteAll(file);
		System.out.println("删除成功");
		file.mkdir();
	}
	else
	{
		file.mkdir();
	}
	str = str+File.separator+text;
	File f = new File(str);
	OutputStream outStream = new FileOutputStream(f);
	outStream.write(data.getBytes(Charset.forName("utf-8")));
	outStream.flush();
	outStream.close();
	System.out.println("输出成功");
}
//删除时同时删除指定的文件夹
public static void deleteAll(File file) {

    if (file.isFile() || file.list().length == 0) {
        file.delete();
        //System.out.println(file.getPath());
    } else {
        for (File f : file.listFiles()) {
            deleteAll(f); // 递归删除每一个文件

        }
        file.delete(); // 删除文件夹
        //System.out.println(file.getPath());
    }
}
}