写一个工具,要求:对指定路径下的文件(包括其所有子目录)进行操作,将文件名中含有”.”的字符转成”_” 例如:XXX/XXX/XXX 目录下有 “数学_7上 1.1 1 正数与负数的概念--T1.flv” 文件
转成:XXX/XXX/XXX 目录下   “数学_7上 1_1 1 正数与负数的概念--T1.flv” 

解决方案 »

  1.   

    我比较好奇的是
    aaa.bbb(.bbb不是文件后缀名)
    aaa.flv
    我怎么区分?
      

  2.   

    用递归找出所有子目录
    然后用namefilter 加正则表达式过滤出所有带.的文件夹
    然后再修改文件名
      

  3.   

    作业题自己也多思考一下嘛package com.study.test;import java.io.File;
    public class Test { public static void main(String[] args) {
    File file = new File("D:\\1");
    reName(file);
    }

    public static void reName(File file){
    if(file.isDirectory()){
    File[] files = file.listFiles();
    for(File f : files){
    reName(f);
    }
    }else{
    String fileName = file.getName();
    String ex = fileName.substring(fileName.lastIndexOf("."));
    fileName = fileName.substring(0, fileName.lastIndexOf("."));
    fileName = fileName.replaceAll("\\.", "_");
    file.renameTo(new File(file.getParent() + File.separator + fileName + ex));
    }
    }
    }
      

  4.   

    public class StackWord {
        public static void main(String[] args){
         subString("D:\\log");
            }    
        public static void subString(String filePath){
    File file = new File(filePath);
    File [] filelist = file.listFiles();
    for(int i=0;i<filelist.length;i++){
    String str = filelist[i].getName().substring(filelist[i].getName().lastIndexOf("."));
    System.out.println(filelist[i].getName().substring(0, filelist[i].getName().length()-str.length())); 
    }
    }
    }