我有一个包含许多子文件夹的文件夹。为了更清楚这里是一个文件夹的例子:重命名文件夹中的所有文件Java
Movies: MovieTitle: Moviefile.mp4 (Movie File) MovieSubtitles.srt (Subtitles) MovieSeries: MovieTitle: Moviefile.mp4 MovieSubtitles.srt
我需要将每个mp4和srt文件重命名为以下“MovieTitle”。如果电影是一个系列的一部分,它应该被命名为系列“标题+电影标题”。让我们以星球大战为例来说明系列以及如何命名。 “星球大战”将成为“电影”中的一个目录名称。在“星球大战”中有6个文件夹,每个文件夹中都有一个mp4和srt文件。对于星球大战第1集,mp4和srt文件应该重新命名为:“星球大战 - 第1集.mp4”和“星球大战 - 第1集.srt”。如果第1集是不是系列的一部分,它应该被命名为只是“插曲1.mp4”
这里是我想出了到目前为止的代码:我知道renameTo是
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)
}
}
}
}
Java中的实际功能。我认为它会重命名文件,直到我看到它实际上做了什么(我仍然有点模糊)。所以我的主要问题是如何获得此代码来正确地重命名文件。
只需要了解一些额外的内容: One Directory包含所有电影。 电影文件夹中有每个文件夹的可能性 它有其他文件夹(它是一个系列) 它有一个mp4和srt文件 如果您有任何问题,请询问!!!
你使用Java 6或Java 7+工作? – fge
@fge我正在使用java 7 – MrSoftee
您是否也在使用番石榴?因为如果你这样做会很容易! – fge