2

Есть класс который записывает список процессов в Stringbuilder, можно ли как-то не записывать часть процессов, которые я укажу, каким либо образом. Например мне не нужны стандартные процессы windows, как их игнорировать?

public static class List {
 public static StringBuilder list() {
 // TODO Auto-generated method stub
 StringBuilder b = new StringBuilder();
 try {
 Process p = Runtime.getRuntime().exec(
 System.getenv("windir") + "\\system32\\" + "tasklist.exe /FO CSV");
 try (BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()))) {
 CSVFormat.EXCEL
 .parse(input)
 .getRecords()
 .stream()
 .map(r -> r.get(0)).forEach(item -> b.append(item + "\n"));
 }
 } catch (IOException e) {
 e.printStackTrace();
 }
 return b;
 }
Mikhail Vaysman
14.4k1 золотой знак24 серебряных знака32 бронзовых знака
задан 1 июл. 2017 в 21:05
4
  • кстати зачем у вас статический класс со статическим методом? Commented 1 июл. 2017 в 21:12
  • не помню по какой причине, но иначе класс не работает либо не возвращает ничего Commented 1 июл. 2017 в 21:14
  • предположу, что это вложенный класс. а почему метод просто не вынести во внешний класс? Commented 1 июл. 2017 в 21:16
  • да, класс вложенный. когда метод был во внешнем классе, я не смог получать данные которые возвращает метод. почему так не знаю, но когда сделал в текущем виде все заработало Commented 1 июл. 2017 в 21:20

1 ответ 1

0
private static Set<String> exclude = new HashSet<String>(Arrays.asList("systemProcess1", "systemProcess2"));
.map(r -> r.get(0))
.filter(item -> !exclude.contains(item))
.forEach(item -> b.append(item + "\n"));
ответ дан 1 июл. 2017 в 21:10
3
  • не совсем понимаю, где тут можно добавить процессы, которые будут игнорироваться? если речь пойдет не о стандартных процессах? Commented 1 июл. 2017 в 21:35
  • Имена игнорируемых процессов известны? Занесите их в Set и фильтруйте по нему, в чем проблема то? Commented 1 июл. 2017 в 21:36
  • имена известны, все дошло) спасибо Commented 1 июл. 2017 в 21:37

Ваш ответ

Черновик сохранён
Черновик удалён

Зарегистрируйтесь или войдите

Регистрация через Google
Регистрация через почту

Отправить без регистрации

Необходима, но никому не показывается

Отправить без регистрации

Необходима, но никому не показывается

Нажимая «Отправить ответ», вы соглашаетесь с условиями пользования и подтверждаете, что прочитали политику конфиденциальности.

Начните задавать вопросы и получать на них ответы

Найдите ответ на свой вопрос, задав его.

Задать вопрос

Изучите связанные вопросы

Посмотрите похожие вопросы с этими метками.