黑马程序员技术交流社区

标题: 求帮忙写个删除文件的代码 [打印本页]

作者: 王靖远    时间: 2013-6-14 12:04
标题: 求帮忙写个删除文件的代码
本帖最后由 孙百鑫 于 2013-6-21 11:03 编辑

需求:根据键盘录入的路径,删除该路径下的所有文件夹内的含有.bak字符串的文件。
作者: 王靖远    时间: 2013-6-14 18:51
自己发的帖子怎么不能编辑了?
作者: Heart    时间: 2013-6-15 19:50
  1. package file;
  2. import java.io.BufferedReader;
  3. import java.io.File;
  4. import java.io.IOException;
  5. import java.io.InputStreamReader;

  6. public class FileTraversalDemo {

  7.     public static void main(String[] args) {
  8.             boolean state = true;
  9.             while(state){
  10.                     System.out.println("请输入文件目录:");
  11.                     BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
  12.                     String path = null;
  13.                     try {
  14.                             path = bf.readLine();        //输入的文件路径
  15.                     } catch (IOException e) {
  16.                             // TODO Auto-generated catch block
  17.                             e.printStackTrace();
  18.                     }
  19.                    
  20.                     File f = new File(path);
  21.                     if(f.isDirectory()){
  22.                             state = false;
  23.                             Traverse.remove(f);
  24.                     }else{
  25.                             System.out.println("路径输入有误!!");
  26.                     }
  27.             }
  28.     }
  29. }

  30. class Traverse {
  31.     public static void remove(File f){
  32.         if(f.isDirectory()){
  33.             File[] farr=f.listFiles();
  34.             for(int i=0;i<farr.length;i++){
  35.                     remove(farr[i]);
  36.             }
  37.             //System.out.println(f+":"+f.delete());        //删除目录
  38.         }
  39.         else{
  40.                 String leixing = f.getName().substring(f.getName().lastIndexOf("."));
  41.                 if(".bak".equals(leixing)){
  42.                         if(f.delete()){
  43.                                 System.out.println(f+"  文件删除成功!");
  44.                         }else{
  45.                                 System.out.println(f+"  文件删除失败!");
  46.                         }
  47.                 }
  48.         }
  49.     }
  50. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2