0. 老版的方法如下
請先閱讀老版重命名的方法,點擊此處
1. 思路修改
- 遍歷視頻全集文件夾
- 讀取以info結尾的文件,獲取“PartName”的值
- 重命名文件和移動文件到指定位置
2. 代碼實現
import com.alibaba.fastjson.JSON;
import org.apache.commons.io.FileUtils;
import org.junit.Test;
import java.io.IOException;
import java.nio.file.*;
import java.nio.file.attribute.BasicFileAttributes;
import java.util.List;
public class TestJsonToJsonObj {
String fileName = "";
@Test
public void testJSONToJSONObj() {
try {
Files.walkFileTree(Paths.get("F:\\bilibili new\\54029771\\"), new SimpleFileVisitor<Path>() {
@Override
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
String path = "F:\\bilibili new\\Java 數據結構和算法\\";
if (file.getFileName().toString().endsWith("info")) {
List<String> list = Files.readAllLines(file);
for (String s : list) {
String name = JSON.parseObject(s).get("PartName").toString();
fileName = path + name + ".flv";
}
}
if (file.getFileName().toString().endsWith("flv")) {
FileUtils.moveFile(FileUtils.getFile(file.toString()), FileUtils.getFile(fileName));
}
return FileVisitResult.CONTINUE;
}
});
} catch (IOException e) {
e.printStackTrace();
}
}
}
3. 使用到兩個第三方的工具,maven依賴如下:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.66</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>