Как будто вы пытаетесь получить доступ к объекту, который является null
. Рассмотрим ниже пример:
TypeA objA;
. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException
, что имеет смысл.
См. Также этот пример:
String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
Подстановочное расширение выполняется оболочкой, не CP (или отличное). Ваш первый пример пытается скопировать файл, названный *. Вы могли сделать свою команду "sh-c 'CP...'"
Благодарен за то, что tedu получает меня половина пути там.
я верю причине, что его решение не работало, был из-за проблемы 'выхода'.
, Например...
"sh -c 'ls'".execute()
работы. Но...
"sh -c 'ls '".execute()
не делает.
существует, вероятно, способ выйти из него правильно в строке там, но обходное решение, которое я использую, должно передать массив строк Runtime.getRuntime (), .exec
command = ["sh", "-c", "cp src/*.txt dst/"] Runtime.getRuntime().exec((String[]) command.toArray())
работает красиво!