所以我試圖修改基於從一個單獨的文件註釋泛化在文本文件中的數據集
的數據集是在.dat文件的形式,看起來像這樣
收購規則Java中的一個數據集54 59 63 85 86 90 93 98 107 113 Annot_4 Annot_5
39 40 52 55 59 63 85 86 90 93 99 108 114 ANNOT_1 Annot_4 Annot_5
個的綜合規則是這樣的
ANNOT_1,Annot_3 => Annot_X
Annot_2,Annot_5 => Annot_Y
所以基本上我想每一行去了數據集中,並添加如果該行包含來自左側的任何註釋,則使用右側,以便新數據集看起來像這樣:
54 59 63 85 86 90 93 98 107 113 Annot_4 Annot_5 A nnot_Y
39 40 52 55 59 63 85 86 90 93 99 108 114 ANNOT_1 Annot_4 Annot_5 Annot_X Annot_Y
什麼我迄今僅應用第一規則,然後停止。
try {
BufferedReader rulesBR = new BufferedReader(new FileReader(generalizationRules));
BufferedReader datasetBR = new BufferedReader(new FileReader(dataset));
String rulesLine;
String datasetLine;
String parts1[];
String rhs;
rulesLine = rulesBR.readLine();
while (rulesLine!=null){
//System.out.println(rulesLine);
String parts[] = rulesLine.split("=>");
String lhs[] = parts[0].split(",");
rhs = parts[1];
for (String part : lhs){
System.out.println(part);
while ((datasetLine =datasetBR.readLine())!=null){
parts1 = datasetLine.split("\\S+");
System.out.println(parts1);
if (datasetLine.contains(part))
writer.write(datasetLine.concat(rhs));
else
writer.write(datasetLine);
}
ArrayList<String> ruleSetRow = new ArrayList<String>();
}
rulesLine =rulesBR.readLine();
}
rulesBR.close();
datasetBR.close();
}
任何幫助將不勝感激。