我在Linux中遇到Java Runtime
的问题。我需要执行这个命令:
blastdbcmd -db'“mydb”' - info
所以我使用这个Java代码:
String[] cmd = new String[] {blastdbcmd ,"-db", "\'","\"", mydb,"\"","\'","-info"}
Process p = Runtime.getRuntime().exec(cmd);
p.waitFor();
但它不起作用:每次我收到java.lang.NullPointerException
例外...
有谁能够帮我?
如果我尝试:
blastdbcmd -db“mydb”-info
它有效,但如果我有像
这样的命令,那么简单的引号是必要的blastdbcmd -db“mydb mydb2”-info
答案 0 :(得分:1)
如果blastdbcmd期望带有文字双引号字符的参数:
String[] cmd = new String[] {"blastdbcmd", "-db", "\"mydb mydb2\"", "-info"};
相当于
$ blastdbcmd -db "\"mydb mydb2\"" -info
如果不是:
String[] cmd = new String[] {"blastdbcmd", "-db", "mydb mydb2", "-info"};
相当于
$ blastdbcmd -db "mydb mydb2" -info