java递归删除目录和生成文件

来源:互联网 发布:航信网络发票 编辑:程序博客网 时间:2024/05/18 23:55

 

//删除目录下的所有子目录和文件
 
protected void delDirs(String filepath) throws IOException{
 
     File f = new File(filepath);//定义文件路径       
 
     if(f.exists()){//判断是否存在
 
      if(f.exists() && f.isDirectory()){//判断是文件还是目录
 
          if(f.listFiles().length==0){//若目录下没有文件则直接删除
 
              f.delete();
 
          }else{//若有则把文件放进数组,并判断是否有下级目录
 
              File delFile[]=f.listFiles();
 
              int i =f.listFiles().length;
 
              for(int j=0;j<i;j++){
 
                  if(delFile[j].isDirectory()){
 
                   delDirs(delFile[j].getAbsolutePath());//递归调用delDirs方法并取得子目录路径
 
                  }
 
                  delFile[j].delete();//删除文件
 
              }
 
          }
 
          delDirs(filepath);//递归调用
 
      }
 
     }else{
 
     f.delete();
 
     }
 
  }

 // 把字符串生成外部文件(当文件不存在时会自动生成新文件,但文件真实路径不能自动生成)
 
protected void stringToFile(String fileName, String content) throws IOException {
 
 BufferedWriter out =
 
  new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fileName),"UTF-8"));
 
 out.write(content);
 
 out.close();
 
}

原创粉丝点击