【发布时间】:2018-03-16 19:32:36
【问题描述】:
我想阅读这个 JSON 文件 - '/Users/test/dos-2018-03-02-22-23/report.json'。但是我在阅读时不知道确切的时间戳,因此在阅读时我需要一个 dos-* 文件夹的正则表达式。
要读取文件,我正在这样做:
JSONObject jsonObject = (JSONObject) parser.parse(new FileReader(FILE_PATH));
现在文件夹路径不断变化[假设只有一个],但我知道它以“dos-”开头。那么如何在路径中使用这个正则表达式模式呢?
我尝试过使用路径匹配器,但它可以用来匹配我猜到的路径。
dosReportFilePath = "/Users/test/";
dosReportFileName = "/report.json"
PathMatcher pathMatcher = fileSystem.getPathMatcher("glob:"+dosReportFilePath+"/dos-*/"+dosReportFileName);
我不确定如何在 FileReader 中使用它。任何有助于实现这一目标的帮助将不胜感激。
找到一个解决方案:
我可以读取 dosReportFilePath 中的所有目录以获取以“dos-”开头的文件夹名称。[Java, List only subdirectories from a directory, not files
【问题讨论】:
-
我建议阅读docs.oracle.com/javase/tutorial/essential/io/find.html,那里也有一个很好的例子..
标签: java json regex filereader