Как запустить команды git из java?

Пользователь

от gage , в категории: Другие , 7 месяцев назад

Как запустить команды git из java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от jerrold_langworth , 7 месяцев назад

@gage 

Для запуска команд git из Java можно воспользоваться классом Runtime и методом exec(). Ниже приведен пример кода, который показывает, как выполнить команду git status из Java:

 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
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) {
        try {
            // Создаем объект Runtime
            Runtime runtime = Runtime.getRuntime();

            // Запускаем команду git status
            Process process = runtime.exec("git status");

            // Получаем потоки ввода и вывода для чтения результатов команды
            BufferedReader input = new BufferedReader(new InputStreamReader(process.getInputStream()));
            BufferedReader error = new BufferedReader(new InputStreamReader(process.getErrorStream()));

            // Читаем вывод команды
            String line = null;
            while ((line = input.readLine()) != null) {
                System.out.println(line);
            }

            // Читаем ошибки, если есть
            while ((line = error.readLine()) != null) {
                System.out.println(line);
            }

            // Ждем, пока ко***** завершится
            int exitCode = process.waitFor();
            System.out.println("Код завершения: " + exitCode);

        } catch (IOException | InterruptedException e) {
            e.printStackTrace();
        }
    }
}


Этот код использует объект Runtime, чтобы выполнить команду git status. Результаты выводятся на консоль, а код завершения команды сохраняется в переменную exitCode. Обратите внимание, что необходимо обрабатывать исключения, связанные с выполнением команды и чтением ее вывода.