我需要将日志文件解析为ArrayLists的ArrayList。正则表达式正在工作,我可以在变量或.csv输出中获得正确的结果。问题是,我需要通过在条件不成立的条目中添加一个值并基于原始行和要添加的行之间的index [0](文件名)匹配附加附加值来操纵输出。
每个日志文件可以具有1-〜200个条目,具体取决于收集的字段输入的数量。日志文件条目是多行和可变的;但结构化,因此所有变体都是已知的(n = 18个正则表达式-并非与以下代码段都相关)。我需要能够根据其中一些变体来操纵行内容。
这意味着我需要遍历各个可能不等长的行(即跨表)以进行编辑和追加,并遍历每行(即遍历表)。因此,简单数组无法像ArrayLists一样工作。
我已经成功创建了一个ArrayList的ArrayList(应该将所有单独行的所有内容都放入一个ArrayList中,然后将其放入父ArrayList中)。
试图通过移动'covArrayList = new ArrayList(covArrayList);'获得单个ArrayList。在'while((corrLine ...)'和'for(String ..)'循环之间,或者进入'if(fileMatcher.find)'块之间,每个正则表达式匹配都返回多个输出,并更改顺序,因此值可以不能将每个链接都链接到特定的“ file1Name” ...
仅供参考:我正在使用JDK10。我必须重构,以便JRE 8可以运行该程序,但出于开发原因,以后想这样做。
这是我的代码的子集,全部在main方法内:
//arraylist of covArrayLists init:
List<List<String>> coverage = new ArrayList<>();
//coverage arrayList init:
List<String> covArrayList = new ArrayList<String>();
//log file Reader init:
File corrFile = new File("D:\\Utilities\\Development\\Java\\HPGPSLogParser\\Correct_2015-10-13_10-51.txt");
BufferedReader corrReader = new BufferedReader(new InputStreamReader(new FileInputStream(corrFile),"UTF-16LE"));
//NOTE: PFO differential correction log files are encoded in UTF-16 LE
String corrText = "";
String corrLine = "";
//corrWriter init:
File stateCSV = new File("D:\\Utilities\\Development\\Java\\HPGPSLogParser\\tcov.csv");
BufferedWriter corrWriter = new BufferedWriter(new FileWriter(stateCSV, true));
String coverageOutput = "";
String processingOutput = "";
//regex variables:catch / finally
块在代码中,而不在代码段中。
相关分类