Как обрабатывать индексы реального времени при запуске checkdisk через командную строку?

#java #swing #process #progress-bar #jprogressbar

#java #swing #процесс #индикатор выполнения #jprogressbar

Вопрос:

У меня есть метод, с помощью которого я могу выполнить checkdisk через Java. Поскольку я разрабатываю оптимизатор для ПК, мне нужно показать пользователю завершенные индексы и оставшиеся.Я могу сделать это, запустив checkdisk в командной строке, используя это:

 Runtime.getRuntime().exec
  

Но меня беспокоит то, как я получу заполненные индексы и индексы, которые будут обработаны в моем пользовательском интерфейсе? Я буду делать это в Swing.

Комментарии:

1. Общий совет по exec . Прочитайте (и реализуйте) все рекомендации , когда Runtime.exec() не выполнит этого не сделает, не выполнит. Это могло бы решить проблему. Если нет, он должен предоставить больше информации о причине сбоя. Затем игнорируйте, на что это ссылается, exec и создайте Process с помощью ProcessBuilder . Также разбейте a String arg на String[] args , чтобы учесть аргументы, которые сами содержат пробелы. КСТАТИ — Прогресс может быть указан в потоке вывода запущенного Process .

2. У меня есть свои опасения по поводу осуществимости этого проекта. Программе Checkdisk требуется полный доступ к диску, что подразумевает, что никакие файлы не должны быть открыты и несколько процессов, если вообще какие-либо, выполняются одновременно. Использование JVM для его запуска нарушает оба этих принципа. Я бы убедился, что это действительно работает без пользовательского интерфейса, прежде чем тратить слишком много времени на создание пользовательского интерфейса для программы, которая, возможно, никогда не сможет работать.