package 
   sw;

 
  import 
   java.io.File;

 
  /** */ 
  /**
 * Function: 1. 清理电影目录下面的4个url链接文件。<br>
 *              2. 电影目录名字去掉前缀,目前是@
 * @author wei.songw
 *
 */ 
  
 
  public 
    
  class 
   CleanAdvert  
  ... 
  {


    /** *//**
     * 待处理的根目录,推荐指定电影存放的分区目录,比如d:,e:<br>
     * 这个字段需要根据实际进行修改<br>
     */
    private static final String TARGET_FILES_ROOT_PATH = "G:";
    
    /** *//**
     * 电影目录改名时,需要去掉的前缀.<br>
     * 比如把"@色戒" 改成 “色戒”,那么MOVIE_NAME_PREFIX = "@";
     * 目前已经设置好。不需要修改
     */
    private static final String MOVIE_NAME_PREFIX = "@";
    
    /** *//**
     * wofei放在电影目录下面的广告txt文件名。<br> 
     * 目前已经设置好。不需要修改
     */
    private static final String ADV_TXT_NAME = "@飞鸟影苑.txt";

    public static void main(String[] args) ...{

        File root = new File(TARGET_FILES_ROOT_PATH);
        cleanMovie(root);

    }

    /** *//**
     * 递归遍历,清理电影目录
     * @param directory 
     */
    public static void cleanMovie(File directory) ...{
        
        if (directory.isDirectory()) ...{
            if (directory.getName().startsWith(MOVIE_NAME_PREFIX)) ...{ //电影文件夹
                File[] files = directory.listFiles();
                for (File f : files) ...{
                    // 干掉所有垃圾url连接广告文件
                    if (f.getName().endsWith(".url")) ...{
                        f.setWritable(true);
                        boolean delete = f.delete();
                        if (delete) ...{
                            System.out.println("delete-url: " + f.getAbsolutePath()
                                    + " deleted!");
                        }
                    }
                    //干掉广告txt"@飞鸟影苑.txt"
                    if(f.getName().equals(ADV_TXT_NAME))...{
                        boolean delete = f.delete();
                        if (delete) ...{
                            System.out.println("delete-txt: " + f.getAbsolutePath()
                                    + " deleted!");
                        }
                    }
                }
                //把电影的目录名从"@abc" 改成 “abc”
                char offset = MOVIE_NAME_PREFIX.charAt(MOVIE_NAME_PREFIX
                        .length() - 1);
                int displacement = directory.getName().indexOf(offset);
                boolean status = directory.renameTo(new File(directory.getParent()
                        + "/"+ directory.getName().substring(displacement + 1)));
                if (status) ...{
                    System.out.println("rename:" + directory.getName() + " to "
                            + directory.getName().substring(displacement + 1));
                }
            }else ...{//递归遍历处理所有子目录
                File[] files = directory.listFiles();
                if (files != null && files.length != 0) ...{
                    for (File f : files) ...{
                        cleanMovie(f);
                    }
                }
            }
        }else ...{
            return;
        }
    }

}