admin
2021-03-18 b37275dba6b782bf3bb3817c4504f6cdef1bef7c
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
package com.hxh.spring.test;
 
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
 
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.*;
 
public class LogTest {
 
    private final static Logger logger = LoggerFactory.getLogger(LogTest.class);
 
    @Test
    public void testLog() throws FileNotFoundException {
        int count = 0;
        String path = "";
        Scanner scanner = new Scanner(new FileInputStream("C:\\Users\\Administrator\\Desktop\\日志\\布丸播放\\video_play.2021-03-12.log"));
        while (scanner.hasNextLine()) {
            String text = scanner.nextLine();
            if (text != null && text.contains("getUserVideoDetail:")) {
                String content = text.split("getUserVideoDetail:")[1];
                content = content.replace("##", "# #");
                String[] sts = content.split("#");
                // device,utdId, loginUid, detailSystemId, videoId, resourceId, from
                resource(sts[4]);
                video(sts[3]);
 
                count++;
            }
        }
        scanner.close();
        System.out.println(count);
        printMap(resourceMap);
        printMap(videoMap);
    }
 
    Map<String, Integer> resourceMap = new HashMap<>();
 
 
    private void resource(String resourceId) {
        Integer r = resourceMap.get(resourceId);
        if (r == null) {
            resourceMap.put(resourceId, 0);
        }
        resourceMap.put(resourceId, resourceMap.get(resourceId) + 1);
    }
 
    Map<String, Integer> videoMap = new HashMap<>();
 
    private void video(String videoId) {
        Integer r = videoMap.get(videoId);
        if (r == null) {
            videoMap.put(videoId, 0);
        }
        videoMap.put(videoId, videoMap.get(videoId) + 1);
    }
 
    private void printMap(Map<String, Integer> map) {
        //list排序
        TreeMap<Integer, Set<String>> ordersMap = new TreeMap<>(Comparator.reverseOrder());
        for (Iterator<String> its = map.keySet().iterator(); its.hasNext(); ) {
            String key = its.next();
            Integer value = map.get(key);
            if (ordersMap.get(value) == null) {
                ordersMap.put(value, new HashSet<>());
            }
            ordersMap.get(value).add(key);
        }
 
 
 
 
 
        int p = 0;
        for (Iterator<Integer> its = ordersMap.keySet().iterator(); its.hasNext(); ) {
            Integer key = its.next();
            System.out.println(key + ":" + ordersMap.get(key));
            p++;
            if (p > 100) {
                break;
            }
        }
    }
 
}