Java 读取txt文本将匹配指定内容的数据行输出
txt文本内容 json数据
{
"code": 0,
"msg": null,
"result": true,
"data": [
{
"jid": "123456",
"createId": "123",
"createDate": "2023-03-14 09:57:21",
"updateId": "123",
"updateDate": "2023-08-22 19:46:08",
"hasUse": "1",
"hasDel": "0",
"name": "第一包",
},
{
"jid": "654321",
"tenantId": null,
"createId": "111",
"createDate": "2023-03-14 09:33:07",
"updateId": "111",
"updateDate": "2023-07-25 17:38:34",
"hasUse": "1",
"hasDel": "0",
"name": "第二包程",
}
}
目的
将上述json数据中的所有jid取出来作为list
代码
package com.ruoyi.web.controller;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ReadFile {
public static void main(String[] args) {
try {
//这里将json数据放入txt
File file = new File("C:\\Users\\Admin\\Desktop\\new 8.txt");
BufferedReader reader = new BufferedReader(new FileReader(file));
String line;
//匹配格式
Pattern pattern = Pattern.compile("\"jid\": (.*)");
while ((line = reader.readLine()) != null) {
Matcher matcher = pattern.matcher(line);
if (matcher.find()) {
//这里打印所有符合条件的行
String lineStr = line.toString();
System.out.println("打印全行"+lineStr);
//这里打印取出的所有jid
String name = matcher.group(1);
System.out.println("打印匹配的后缀:"+name);
}
}
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
结果
打印全行 "jid": "123456",
打印匹配的后缀:"123456",
打印全行 "jid": "654321",
打印匹配的后缀:"654321"