yk12510 发表于 2015-8-23 22:57

新手发个自己编的批量添加后缀名的源码

比如在zero站下载的《柯南》1-700集全部要添加rmvb后缀,之前用bat文件改后缀名老是把每一集的名字都改没了(就是改完只有001.rmvb,云霄飞车杀人事件没了)。最近在学习java,终于改好了
下面是源码
package yk12510.java004_File;

import java.io.File;

public class RenameKenan {

        public static void main(String[] args) {
                File file = new File("e:\\dd");
                File[] fileArr = file.listFiles();

                for (File f : fileArr) {
                        String name = f.getName();
                        StringBuffer sb = new StringBuffer(name);
                        StringBuffer newname = sb.append(".rmvb");
                        String newName = newname.toString();
                        File newfile = new File(file, newName);
                        f.renameTo(newfile);
                       
                }
                System.out.println("搞定!");
        }
}

yk12510 发表于 2015-8-23 23:05

不过要是运行好几遍,后面就会加了好几个后缀

babmf 发表于 2015-8-23 23:10

感觉好麻烦

yk12510 发表于 2015-8-24 07:26

babmf 发表于 2015-8-23 23:10
感觉好麻烦

最近学java自己玩玩

安之 发表于 2015-8-24 14:36

不错!赞一下!

zhouyu0701 发表于 2015-8-24 14:44

yk12510 发表于 2015-8-23 23:05
不过要是运行好几遍,后面就会加了好几个后缀

再写个判断语句吧~~~~

zhangbaoyu 发表于 2016-3-21 20:24

怎么弄啊?我也需要批量添加后缀

骑鹤上黄山 发表于 2016-9-16 16:19

昨天做了道题,差不多的import java.util.Scanner;
import java.io.File;
public class PracticeDemo1209{
        public static void main(String args[]){
                Scanner scan = new Scanner(System.in);
                System.out.print("请输入要改变后缀为“.txt”的文件路径:");
                scan.useDelimiter("\n");
                String path = scan.next().trim();
                File f = new File(path);
                print(f);
               
        }
        public static void print(File f){
                String newname = "";
                String newpath = "";
                File newFile = null;
                if(f != null){                        //文件流不为空的时候
                        if(f.isDirectory()){                //是目录的时候
                                File path[] = f.listFiles();                //返回文件对象数组
                                if(f!=null){                //有可能无法列出目录中的文件
                                        for(int i = 0;i<path.length;i++){
                                                print(path);
                                        }
                                }
                        }else{
                                newname = f.getName().replaceAll("\\.[^.]+$",".txt");
                                newpath = f.getParent()+File.separator+newname;
                                newFile = new File(newpath);
                                f.renameTo(newFile);
                        }
                }
        }
}
页: [1]
查看完整版本: 新手发个自己编的批量添加后缀名的源码