Вызов / выполнение скрипта Python с Java не завершается [дубликат]

Ссылка NullReferenceException или Object, не установленная на экземпляр объекта, возникает, когда объект класса, который вы пытаетесь использовать, не создается. Например:

Предположим, что у вас есть класс с именем Student.

public class Student
{
    private string FirstName;
    private string LastName;
    public string GetFullName()
    {
        return FirstName + LastName;
    }
}

Теперь рассмотрим другой класс, в котором вы пытаетесь получить полное имя учащегося.

public class StudentInfo
{      
    public string GetStudentName()
    {
        Student s;
        string fullname = s.GetFullName();
        return fullname;
    }        
}

Как видно из вышеприведенного кода, оператор Student s - объявляет только переменную типа Student, обратите внимание, что класс Student не создается в этой точке. Следовательно, когда выполняется выполнение инструкции s.GetFullName (), она выкинет исключение NullReferenceException.

27
задан Eric 6 December 2011 в 21:48
поделиться

1 ответ

Вы пытаетесь выполнить / home и это не исполняемый файл. Аргумент конструктора конструктора процесса - это команда для выполнения.

Вы хотите установить рабочий каталог. Это можно сделать с помощью метода directory .

Вот полный пример:

Process p = null;
ProcessBuilder pb = new ProcessBuilder("do_foo.sh");
pb.directory(new File("/home"));
p = pb.start();
67
ответ дан Matteo Mazza 25 August 2018 в 13:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: