如何从日志文件中分离消息



日志文件

AAAAAAAAxxxxxxx。薪酬工作-xxxxxx|BATCH_PAYMENT|2021-05-01 12:45:00|17|成功

AAAAAAAAxxxxxxx。薪酬工作-xxxxxx|BATCH_PAYMENT|2021-05-02 13:45:00|16|成功

AAAAAAAAxxxxxxx。薪酬工作-xxxxxx|BATCH_PAYMENT|2021-05-03 14:45:00|176|成功

AAAAAAAAxxxxxxx。薪酬工作-xxxxxx|BATCH_PAYMENT|2021-05-04 15:45:00|76|成功

AAAAAAAAxxxxxxx。薪酬工作-xxxxxx|BATCH_PAYMENT|2021-05-05 16:45:00|25|成功

我们如何分割文本以便将其存储在变量中?请建议或告诉我。谢谢

import java.util.*;
import java.lang.*;
import java.util.regex.*;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
public class test{
public static void main (String[] args)throws Exception{
demoReadall();
}
public static void demoReadall(){

try{
FileInputStream fstream = new FileInputStream("RunningSystem.log");
BufferedReader br = new BufferedReader(new InputStreamReader(fstream));
String strLine;
Pattern pattern = Pattern.compile("(\d{4}-\d{2}-\d{2})");
Matcher matcher;
while ((strLine = br.readLine()) != null)   {
matcher = pattern.matcher(strLine);

System.out.println (strLine);
}
fstream.close();
} catch (Exception e) {
System.err.println("Error: " + e.getMessage());
}
}
}

split((很可能就是您要查找的函数。参数是字符串,在您的情况下可能是"|&";。它返回一个String[],每次找到"时都返回一个新的String|"在您的原始字符串中。类似的东西

String[] LineArray = strLine.split("|");

希望这能有所帮助!

最新更新