A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王靖远 金牌黑马   /  2013-6-14 12:04  /  874 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 孙百鑫 于 2013-6-21 11:03 编辑

需求:根据键盘录入的路径,删除该路径下的所有文件夹内的含有.bak字符串的文件。

2 个回复

正序浏览
  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. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
夜默 + 1 很给力!

查看全部评分

回复 使用道具 举报
自己发的帖子怎么不能编辑了?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马