java - 重命名文件夹中的所有文件 Java

标签 java file directory

我有一个文件夹,其中包含许多子文件夹。为了更清楚地说明这里是文件夹的示例:

电影: 电影标题: Moviefile.mp4(电影文件) MovieSubtitles.srt(字幕) 电影系列: 电影标题: 电影文件.mp4 电影字幕.srt 我需要将每个 mp4 和 srt 文件重命名为以下“MovieTitle”。如果电影是系列的一部分,则应将其命名为系列“标题 + 电影标题”。让我们以《星球大战》为例来说明系列和如何命名。 “星球大战”将是“电影”中的目录名称。 《星球大战》中有 6 个文件夹,每个文件夹中都有 mp4 和 srt 文件。对于星球大战第 1 集,mp4 和 srt 文件应重命名为:“Star Wars - Episode 1.mp4”和“Star Wars - Episode 1.srt”。如果第 1 集不是系列的一部分,则应将其命名为“Episode 1.mp4”

这是我迄今为止想出的代码:

    public static void renaming(File[] files){
    String dir1, dir2;
    for(File movie: files){ //Main folder containing all of the movies.
        dir1 = movie.getName();
        for(File filesInMovie: movie.listFiles()){
            if(filesInMovie.isDirectory()){ //This means that it is a series.
                dir2 = filesInMovie.getName();
                for(File i: filesInMovie.listFiles()){
                    i.renameTo(dir1 + " - " + dir2);
                }
            }else{
                filesInMovie.renameTo(dir1)
            }               
        }

    }
}

我意识到 renameTo 是 Java 中的一个实际函数。我以为它会重命名文件,直到我读到它实际做了什么(我对此仍然有点模糊)。所以我的主要问题是如何获得此代码来正确重命名文件。

您应该了解一些额外的事情: 一个目录包含所有电影。 电影文件夹中的每个文件夹都有可能 里面还有其他文件夹(这是一个系列) 里面有mp4和srt文件 如果您有任何疑问请询问!!!

最佳答案

File#getName()返回一个字符串。您使用它来获取当前文件的名称,然后尝试使用 File#rename(String) 重命名该文件,其中该方法实际上定义为 File#renameTo(File) 。也就是说,参数应该是您尝试重命名文件的文件。

一些建议:

  1. 查看Files.move()使用此命令将文件移动到目标 - 链接有这样的示例

  2. 不要对第一个目录使用获取名称方法 - 直接使用文件(类似于下面的内容,但我认为仍然不正确),如果您希望文件位于同一基目录中电影

    i.renameTo(new File(movie," - " + filesInMovie.getName() + ext);
    

    仍然需要扩展文件ext,但是它将来自文件i

关于java - 重命名文件夹中的所有文件 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22776243/

相关文章:

java - BeanWrapperFieldsetMapper 映射 PropertyEditor per field basis

java - 将冒泡排序作为单独的数组返回

用于确定目录是否为 git 存储库的 Python 脚本

java - Apache mina FtpServer 的客户端监听器

java - spring boot 应用程序运行,但我在网络浏览器中收到错误 404

Ruby 2.3 编写 UTF-16LE gzip 文件

ruby - 在 Windows 上的 Ruby 中检查文件的版本

python - python中打开文件I/O内存管理

python - 如何找到脚本的目录?

node.js - 服务器端和胖客户端 Web 应用程序的文件夹结构