我有一個包含許多子文件夾的文件夾。爲了更清楚這裏是一個文件夾的例子:重命名文件夾中的所有文件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