packagereadText;importjava.io.BufferedReader;importjava.io.FileReader;importjava.io.BufferedWriter;importjava.io.FileWriter;importjava.io.IOException;importjava.util.ArrayList;importjava.util.List;importjava.util.LinkedList;importreadText.Compare;public classReadData {public static void main(String[] args) throwsIOException {try{
String dir="Log_2020-12-06_000";
BufferedReader in= new BufferedReader(new FileReader("C:\\机器人Log\\05\\"+dir+".txt"));//打开文件创建数据流
BufferedWriter out = new BufferedWriter(new FileWriter("C:\\机器人Log\\05\\"+dir+"_out.txt"));
BufferedWriter out_rfid= new BufferedWriter(new FileWriter("C:\\机器人Log\\05\\"+dir+"_out_RFID.txt"));
String str;//定义String变量用来保存每一次读到的每一行的数据
int i=0;//行数
int j=0;//RFID个数
int temp=0;
String Date="";
String Missionid="";
String com="";
String rfid1="";
String rfid2="";
ArrayList arraylist =new ArrayList();
List ls=new LinkedList();/*对下面的数据进行筛选*/
while((str=in.readLine())!=null){if(str.contains("MissionID")&&str.contains("Command")&&str.contains("RFID")){//筛选条件
if(str.length()>0){
arraylist.add(str);if(str.contains("PSwapD")){
j=j+2;
Date=str.substring(0, 19);
Missionid=str.substring(43, 58);
com="PSwapD";
rfid1=str.substring(112, 120);
rfid2=str.substring(145, 154);//System.out.println(Date+Missionid+com+rfid1+rfid2);
Compare compare=newCompare(Date,Missionid,com,rfid1,rfid2);//System.out.println(compare.getDate());
ls.add(compare);
}else{
temp=temp+1;
j=j+1;if(str.contains("PD")){
Date=str.substring(0, 19);
Missionid=str.substring(43, 58);
com="PD";
rfid1=str.substring(120, 128);
rfid2="";//System.out.println(Date+Missionid+com+rfid1+rfid2);Compare compare=newCompare(Date,Missionid,com,rfid1,rfid2);//System.out.println(compare.getDate());
ls.add(compare);
}if(str.contains("Pickup")){
Date=str.substring(0, 19);
Missionid=str.substring(43, 58);
com="Pickup";
rfid1=str.substring(113, 122);
rfid2="";//System.out.println(Date+Missionid+com+rfid1+rfid2);
Compare compare=newCompare(Date,Missionid,com,rfid1,rfid2);//System.out.println(compare.getDate());
ls.add(compare);
}if(str.contains("Dropoff")){
Date=str.substring(0, 19);
Missionid=str.substring(43, 58);
com="Dropoff";
rfid1=str.substring(112, 120);
rfid2="";//System.out.println(Date+Missionid+com+rfid1+rfid2);
Compare compare=newCompare(Date,Missionid,com,rfid1,rfid2);//System.out.println(compare.getDate());
ls.add(compare);
}
}
i=i+1;
}
}
}
in.close();for(String s: arraylist){
out.write(s);
out.newLine();
out.flush();
}
System.out.println(ls.size());for(int z=0;z
String rfid=ls.get(z).getDate()+" "+ls.get(z).getMissionid()+" "+ls.get(z).getCom()+" "+ls.get(z).getRfid1()+" "+ls.get(z).getRfid2();
System.out.println(rfid);
out_rfid.write(rfid);
out_rfid.newLine();
out_rfid.flush();
}
out.write("输出完毕,共"+i+"行,"+j+"RFID");
out.close();
out_rfid.close();
System.out.println("输出完毕,共"+i+"行");
System.out.println("输出完毕,共"+j+"个RFID");
System.out.println("输出完毕,共"+temp+"个RFID");
}catch(IOException e) {
}
}
}