findFirst.java
2.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
import com.lottery.common.contains.lottery.TerminalType;
import java.io.*;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
/**
* Created by liuchong on 2017/5/21.
* Copyright(c) 2017 quanmincai Co., Ltd.
* All right reserved.
*/
public class findFirst {
public static String filePath = "/Users/liuchong/Downloads/log";
private static Set<String> allTicket = new HashSet<String>();
static{
allTicket.add("97add7a491e9a3ad54c02db3867e4c7d");
allTicket.add("96997cb310aefc30b0b458daf096bc2d");
allTicket.add("c9ef50ec7adad1d4ffa3756f9aee7e54");
allTicket.add("dc3f5fb7aa2f979df70102e0729465bb");
allTicket.add("dd62a1be7312bd859ac95855da6506f8");
allTicket.add("e2edcfde035742874787ad9728f91848");
}
public static void main(String[] args) throws Exception{
File file = new File(filePath);
File[] files =file.listFiles();
Map<String,Set<String>> terminalTicket = new HashMap<String, Set<String>>();
if (files.length!=allTicket.size()){
System.out.println("解析出的文件个数与实际票数不符。解析文件个数是:"+files.length+"实际票数是:"+allTicket.size());
}else {
System.out.println("实际票数是:"+allTicket.size());
}
for (File file1 : files) {
BufferedReader fileRead= new BufferedReader(new FileReader(file1));
String[] line = fileRead.readLine().substring(0,100).split("\\|");
System.out.println(file1.getName());
System.out.println(file1.getName() +" "+line[3]);
if (terminalTicket.containsKey(line[3])){
Set<String> ticketSet = terminalTicket.get(line[3]);
ticketSet.add(file1.getName());
}else {
Set<String> ticketSet = new HashSet<String>();
ticketSet.add(file1.getName());
terminalTicket.put(line[3],ticketSet);
}
}
//写入文件
BufferedWriter fileWriter = null;
for (Map.Entry<String,Set<String>> entry : terminalTicket.entrySet()) {
System.out.println("Key = " + entry.getKey() +"size :"+entry.getValue().size()+ ", Value = " + entry.getValue());
Set<String> ticketSet = entry.getValue();
String name = TerminalType.get(Integer.parseInt(entry.getKey())).getName();
fileWriter = new BufferedWriter(new FileWriter(new File(name)));
for (String s : ticketSet) {
fileWriter.write(s);
fileWriter.newLine();
}
fileWriter.flush();
fileWriter.close();
}
}
}