File对文件的操作

package ch3;

import java.io.File;
import java.io.IOException;

public class FileText {
	public static void main(String[] args) throws IOException {
      File dir1= new File("D:/IOText/dir1");
      if(!dir1.exists())   dir1.mkdir();
      //如果dir1目录怒存在,则创建目录
      
      File dir2= new File(dir1,"dir2");
      //创建以dir1为父目录,名为dir2的File对象
      if(!dir2.exists())   dir2.mkdirs();//若不存在,则创建为目录
        
      File dir4 = new File(dir1,"dir3/dir4");
      if(!dir4.exists())    dir4.mkdirs();
      
      
      File file = new File(dir2,"text.txt");
      if(!file.exists())
    	  file.createNewFile();//若不存在,就创建目录
      
      System.out.println("dir1的绝对路径:"+dir1.getAbsolutePath());
      listChilds(dir1,0);//递归显示dir1下的所有文件和目录
      deleteAll(dir1);
      
      
	}

	private static void deleteAll(File file) {
		// TODO Auto-generated method stub
		//如果是文件,就删除
		if(file.isFile()){
			System.out.println("删除文件:"+file.getAbsolutePath());
			file.delete();
			return;
		}
		
		File []lists = file.listFiles();
		//如果是目录,先生拿出目录下的所有子目录和文件
		for(int i=0;i<lists.length;i++)
		{
			deleteAll(lists[i]);
		}
		System.out.println("删除目录:"+file.getAbsolutePath());
		file.delete();
	}

	private static void listChilds(File file, int level) {
		// TODO Auto-generated method stub
		//生成层次感的空格
		StringBuilder sb = new StringBuilder("|--");
		for(int i=0;i<level;i++)
		{
			sb.insert(0, "|   ");
		}
		File [] childs = file.listFiles();
		for(int i=0;i<childs.length;i++)
		{
			System.out.println(sb.toString()+childs[i].getName());
			if(childs[i].isDirectory())
			{
				listChilds(childs[i],level+1);
			}
		}
	}

}


结果:dir1的绝对路径:D:\IOText\dir1

|--dir2
|   |--text.txt
|--dir3
|   |--dir4
删除文件:D:\IOText\dir1\dir2\text.txt
删除目录:D:\IOText\dir1\dir2
删除目录:D:\IOText\dir1\dir3\dir4
删除目录:D:\IOText\dir1\dir3
删除目录:D:\IOText\dir1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值