Добавление всех значений в файл - PullRequest
0 голосов
/ 22 октября 2018

У меня есть огромный 313 000 строк журнала, который выглядит как показано ниже.Я пытаюсь найти быстрый способ сложить всех игроков онлайн: (number)/100.Так что просто сложите все (число) вместе.Любые идеи?

Не ищу Java-код, я знаю только Python и пакет

Спасибо

Пример данных:

[04-28-2018 22:49:30] TPS: 20.0
Memory free: 2394.0/4551.0 (52%)
Players online: 19/100
Total chunks loaded: 8413
Total entities: 1532

1 Ответ

0 голосов
/ 22 октября 2018

Хороший способ - через регулярные выражения и потоки:

final Pattern pattern = Pattern.compile("Players online: (\\d+)/100");
int total = Files.lines("filename")
    .map(pattern::matcher).filter(Matcher::matches)
    .map(m -> matcher.group(1))
    .mapToInt(Integer::valueOf).sum();

Если вы не знакомы с потоками, это превращает файл в поток строк, которые затем преобразуются в целые числа с помощью регулярных выражений, которыезатем подытожил.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...