在Java中如何执行以下shell命令:
osmosis --read-xml file="planet-latest.osm" --bounding-polygon file="country.poly" --write-xml file="australia.osm"
我尝试用这段代码执行它:
Process proc = Runtime.getRuntime().exec("osmosis --read-xml file="planet-latest.osm" --bounding-polygon file="country.poly" --write-xml file="australia.osm"");
InputStream output = proc.getInputStream();
但似乎没有执行Unix命令。
答案 0 :(得分:2)
您可能需要指定渗透的完整路径。
答案 1 :(得分:1)
使用Runtime是一种不推荐的执行命令的方法。看看ProcessBuilder
答案 2 :(得分:1)
尝试逃避双重“
Process proc = Runtime.getRuntime().exec("osmosis --read-xml file=\"planet-latest.osm\" --bounding-polygon file=\"country.poly\" --write-xml file=\"australia.osm\"")