如何读取JSON文件路径并忽略文件名中的时间戳等字符?
如何读取JSON文件路径并忽略文件名中的时间戳或其他字符?
目标
读取以Example Data Document开头的JSON文件,忽略后续的时间戳。
当前流程
文件路径始终以固定名称开头(例如Example Data Document),固定名称后通常带有时间戳。(我在Web自动化中每天重复下载该文件,文件名中的时间戳会更新)
当前读取方式
Boolean filePath = JsonPath.from(new File("/User/myName/Desktop/Example Data Document-768-8_23_2022, 4_5102 PM.json"))
已做研究
了解了Filters和Query,但未找到符合需求的内容。
解决方案
可以使用Java的listFiles方法读取目标目录,通过文件名前缀和后缀过滤出所需的JSON文件,自动忽略时间戳等可变字符。
实现代码
import java.io.*; public class Solution { public static void main(String args[]) { try { // 指定目标目录 File targetDir = new File("/Users/yourUser/Downloads"); // 创建过滤器:匹配前缀为"Example Data Document"且后缀为".json"的文件 FilenameFilter fileFilter = new FilenameFilter() { @Override public boolean accept(File dir, String name) { return name.startsWith("Example Data Document") && name.endsWith(".json"); } }; // 获取目录下所有符合条件的文件 File[] matchedFiles = targetDir.listFiles(fileFilter); // 处理匹配到的文件(这里以输出绝对路径为例,可替换为读取JSON的逻辑) if (matchedFiles != null) { for (File file : matchedFiles) { System.out.println("找到目标文件:" + file.getAbsolutePath()); // 读取JSON的示例代码: // Boolean result = JsonPath.from(file); } } else { System.out.println("未找到符合条件的文件"); } } catch (Exception e) { System.err.println("处理异常:" + e.getMessage()); } } }
内容的提问来源于stack exchange,提问作者foragerEngineer
相关产品推荐
相关产品推荐

