Java创建、重命名、删除文件和文件夹

  1. package my.file;  
  2.   
  3. import <a href="http://lib.csdn.net/base/java" class='replace_word' title="Java 知识库" target='_blank' style='color:#df3434; font-weight:bold;'>Java</a>.io.File;  
  4. import java.io.FileOutputStream;  
  5. import java.io.OutputStreamWriter;  
  6. import java.io.Writer;  
  7.   
  8. public class TravelAllFile {  
  9.  public static void main(String[] args) {  
  10.   String path = "E:/文件夹";  
  11.   File f = new File(path);  
  12.   if (f.isDirectory()) {  
  13.    new TravelAllFile().getFileName(f);  
  14.   }  
  15.     
  16.   delFolder("E:/文件夹");  
  17.   System.out.println("deleted");  
  18.  }  
  19.    
  20.  // 递归查找函数,参数为file对象  
  21.  public void getFileName(File f) {  
  22.   // File 数组  
  23.   File[] files = f.listFiles();  
  24.   
  25.   for (int i = 0; i < files.length; i++) {  
  26.    // 递归出子目录  
  27.    if (files[i].isDirectory()) {  
  28.     System.out.println("子目录是:" + files[i].getName());  
  29.     getFileName(files[i]);  
  30.     // 递归出子文件  
  31.    } else {  
  32.     System.out.println(files[i].getName());  
  33.    }  
  34.   
  35.   }  
  36.  }  
  37.   
  38.  //重命名  
  39.  public void rename(){  
  40.   File fl=new File("E://文件夹");  // 这里写上发替换的文件夹路径,注意使用双斜杠  
  41.     String[] files=fl.list();  
  42.     File f=null;  
  43.     String filename="";  
  44.     for(String file:files)  
  45.     {  
  46.      f=new File(fl,file);// 注意,这里一定要写成File(fl,file)如果写成File(file)是行不通的,一定要全路径  
  47.      filename=f.getName();  
  48.      // System.out.println(filename);  
  49.      f.renameTo(new File(fl.getAbsolutePath()+"//"+filename.replace("要替换掉的内容""替换成的内容")));// 这里可以反复使用replace替换,当然也可以使用正则表达式来替换了  
  50.        
  51.     }  
  52.  }  
  53.    
  54.  //删除文件夹  
  55.  //param folderPath 文件夹完整绝对路径  
  56.   
  57.  public static void delFolder(String folderPath) {  
  58.   try {  
  59.    delAllFile(folderPath); //删除完里面所有内容  
  60.    String filePath = folderPath;  
  61.    filePath = filePath.toString();  
  62.    java.io.File myFilePath = new java.io.File(filePath);  
  63.    myFilePath.delete(); //删除空文件夹  
  64.   } catch (Exception e) {  
  65.    e.printStackTrace();  
  66.   }  
  67.  }  
  68.   
  69.  //删除指定文件夹下所有文件  
  70.  //param path 文件夹完整绝对路径  
  71.  public static boolean delAllFile(String path) {  
  72.   boolean flag = false;  
  73.   File file = new File(path);  
  74.   if (!file.exists()) {  
  75.    return flag;  
  76.   }  
  77.   if (!file.isDirectory()) {  
  78.    return flag;  
  79.   }  
  80.   String[] tempList = file.list();  
  81.   File temp = null;  
  82.   for (int i = 0; i < tempList.length; i++) {  
  83.    if (path.endsWith(File.separator)) {  
  84.     temp = new File(path + tempList[i]);  
  85.    } else {  
  86.     temp = new File(path + File.separator + tempList[i]);  
  87.    }  
  88.    if (temp.isFile()) {  
  89.     temp.delete();  
  90.    }  
  91.    if (temp.isDirectory()) {  
  92.     delAllFile(path + "/" + tempList[i]);//先删除文件夹里面的文件  
  93.     delFolder(path + "/" + tempList[i]);//再删除空文件夹  
  94.     flag = true;  
  95.    }  
  96.   }  
  97.   return flag;  
  98.  }  
  99.    
  100.  /** 
  101.   * 创建目录 
  102.   * @param dirPath 
  103.   */  
  104.  static Boolean createDir(String dirPath){  
  105.   File dirFile = new File(dirPath);  
  106.   return dirFile.mkdirs();  
  107.  }  
  108.    
  109.  /** 
  110.   * 创建文件 
  111.   * @param filePath 
  112.   * @param content 
  113.   * @return Boolean 
  114.   */  
  115.  static Boolean createFile(String filePath,String content){  
  116.   Writer writer = null;  
  117.   File file = new File(filePath);  
  118.   File temp = new File(file.getParent());  
  119.   if(!temp.exists()){  
  120.    createDir(file.getParent());  
  121.   }  
  122.   try{  
  123.    writer = new OutputStreamWriter(new FileOutputStream(file));  
  124.    writer.write( content );  
  125.   }catch(Exception e){  
  126.    e.printStackTrace();  
  127.    return false;  
  128.   }finally{  
  129.    try{  
  130.     if(writer!=null){  
  131.      writer.close();  
  132.     }  
  133.    }catch(Exception e1){  
  134.     e1.printStackTrace();  
  135.    }  
  136.   }  
  137.   return true;  
  138.  }  
  139. }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值