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;/** * @ClassName TestJsonToJsonObj * @Description 测试json字符串,转成json对象 * @Author 落在牛背上的鸟 * @Date 2020/3/14 17:11 * @Version 1.0 */public class TestJsonToJsonObj { // 定义全局变量 String fileName = ""; @Test public void testJSONToJSONObj() { try { // Java NIO 中的方法,遍历指定文件夹下的所有文件夹和文件 Files.walkFileTree(Paths.get("F:\\bilibili new\\54029771\\"), new SimpleFileVisitor<Path>() { /** * 访问file文件时触发该方法 * @param file 指定的文件夹 * @param attrs * @return * @throws IOException */ @Override public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException { // 重命名后的文件夹路径 String path = "F:\\bilibili new\\Java 数据结构和算法\\"; // 判断是否已 info 结尾的文件 if (file.getFileName().toString().endsWith("info")) { // 读取 info 文件的所有行 List<String> list = Files.readAllLines(file); for (String s : list) { // 使用 com.alibaba.fastjson.JSON 中的方法,直接获取到 PartName 的值 String name = JSON.parseObject(s).get("PartName").toString(); // 构件 新的文件; 目录 + 文件名 + 后缀名 fileName = path + name + ".flv"; } } // 判断是否已 flv 结尾的文件 if (file.getFileName().toString().endsWith("flv")) { // 使用 org.apache.commons.io.FileUtils 中的 moveFile 方法,重命名和移动一起搞定 FileUtils.moveFile(FileUtils.getFile(file.toString()), FileUtils.getFile(fileName)); } // 代表继续访问后续行为 return FileVisitResult.CONTINUE; } }); } catch (IOException e) { e.printStackTrace(); } }}