Вот пример того, как правильно читать текстовый файл - замените кодировку на тот, который вам нужен.
try (final BufferedReader br = Files.newBufferedReader(file.toPath(), StandardCharsets.UTF_8)) {
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
Когда у вас есть отдельные строки, вы можете разделить их на пробелы: str.split("\\s+");
Вы получите массив с тремя записями. Я думаю, вы можете выяснить, остальное.
Используйте CreateProcess
Win32 API для запуска дочернего процесса.
Передайте ему a STARTUPINFO
структура с hStdInput
, hStdOutput
и hStdError
набор дескрипторов к дескрипторам файлов, которые Вы открыли (или реальные файлы или файлы с отображенной памятью должны работать). Вы не должны указывать все три, можно перенаправить только тех, Вам действительно нужно; наиболее распространенный случай hStdOutput
.
Если Вы хотите общаться с дочерним процессом (через hStdInput
), необходимо ожидать его для инициализации путем вызова WaitForInputIdle
.