如何使用java重命名文件

时间:2016-11-26 03:20:55

标签: java

我有一个python程序,可以从文件名中删除字符串,但我正在寻找使用java的帮助。

与此类似的东西

import glob,os
from tkinter import filedialog
import re

#in_path = filedialog.askdirectory() # if want to ask for directory

os.chdir(os.path.join("G:\\"))  #change to os.chdir(os.path.join(in_path)) to used selected dir
for files in glob.glob("*.mp4"):  #get mp4 files
    filename = os.path.splitext(files)
    ext=filename[-1]
    thefile = filename[0]
    if "v" in thefile:  #if there is version, check where the letter "v" is
        ind = thefile.index("v")
        change = thefile[:ind].replace(".","").replace("_","")+thefile [ind:].replace("_","")+ext
    else:
        change = thefile.replace(".","")+ext
    os.rename(files,change)

1 个答案:

答案 0 :(得分:0)

import java.io.*;

public class Renamer {

    public void renameFiles(String dir, String search) throws IOException{
        File directory = new File(dir);
        File[] directoryListing = directory.listFiles();
        if (directoryListing != null) {
            for (File child : directoryListing) {
                if(child.getName().contains(search)){
                    int start = child.getName().indexOf(search);
                    String newFileName = child.getName().substring(0, start);
                    File newFile = new File(newFileName);
                    child.renameTo(newFile);
                }  
            }
        }
    }
}

试试这个,你要做的一些事情可能是操作系统特定操作系统处理文件的方式,它应该工作。基本上它的作用是搜索字符串并重命名文件以仅包含该字符串之前的内容。它适用于给定目录中的所有文件。

我没有添加仅执行特定文件扩展名的功能,但这并不难实现。