File对文件的操作

来源:互联网 发布:日语动漫配音软件 编辑:程序博客网 时间:2024/06/07 02:16
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

原创粉丝点击