当前位置: 首页 > 知识库问答 >
问题:

运行时。getRuntime()。exec()问题

有品
2023-03-14

我正在尝试从Java代码运行另一个程序:

String[] command = {"gdal_polygonize.py", "/home/user/myoldfiles/proceeded.tiff", "-mask", "/home/user/myoldfiles/biomass_02.08.14.tif", "-f", "'ESRI Shapefile'", "/home/user/myoldfiles/proceeded.shp", "DN"};
Process p = Runtime.getRuntime().exec(command);

我没有文件。在/home/user/myoldfiles/中创建的shp使用BufferedReader获得的命令输出如下所示:

Creating output /home/user/myoldfiles/proceeded.shp of format 'ESRI Shapefile'.

当我在终端(Ubuntu)中运行下一个命令时

 gdal_polygonize.py '/home/user/myoldfiles/proceeded.tiff' -mask '/home/user/myoldfiles/biomass_02.08.14.tif' -f 'ESRI Shapefile' '/home/user/myoldfiles/proceeded.shp'

它能打印

Creating output /home/user/myoldfiles/proceeded.shp of format ESRI Shapefile.
0...10...20...30...40...50...60...70...80...90...100 - done.

并成功创建了。shp文件。我在Java代码中做错了什么?

共有1个答案

霍浩皛
2023-03-14

谢谢大家的帮助!我在这里找到了解决方案。问题是“ESRI Shapefile”中的单引号,我刚刚删除了它们,现在一切正常!

 类似资料:
  • 我正在尝试将我制作的两个简单程序合并为一个。罐子我两个都打包了。将jar装入新的jar并在运行时使用。getRuntime()。exec方法来执行它们。 代码: 问题是只执行proj1.jar,proj2.jar不运行。我是新来的java,不知道为什么会这样。我该怎么解决这个问题?我想要两个文件都被执行。

  • 我有一个命令,我需要在java中按照以下方式运行: 当路径没有空格时,这个命令可以正常工作,但是当我有空格时,我似乎无法让它工作。我尝试了以下方法,运行Java1.7 以及;以及 但两人似乎都没有采取任何行动。有没有想过我做错了什么??

  • 我尝试使用以下代码模拟我的Runtime.getRuntime(): 但是我有以下错误:

  • 问题内容: 我想使用字符串作为输入来调用bash。就像是: 我想从Java做到这一点。不幸的是,当我尝试使用调用命令时,出现以下错误: 这似乎与我的字符串没有被EOF终止有关。 有没有一种方法可以将特定于平台的EOF插入Java字符串中?还是我应该寻找另一种方法,例如在调用“ sh”之前写入临时脚本? 问题答案: 用这个: 要点:不要在双引号中使用。仅在外壳中编写命令行时使用! 例如,(在shel

  • 问题内容: 因此,我们有一个作为Windows服务运行的Java进程。它需要使用执行命令。它执行的命令需要UAC。这是在Windows Server 2008上,听起来您无法为单个可执行文件禁用UAC,所以还有其他方法可以使这项工作吗? 问题答案: 如果您的Java应用程序作为Windows服务运行,则它很可能在以下系统帐户之一下运行:SYSTEM(最有可能),LOCAL SERVICE或NETW

  • 问题内容: 我正在尝试通过Java中的以下命令启动脚本: 在控制台中键入的命令可以正常工作。但是在这里,即使将路径添加到$ PATH变量中,也似乎找不到该脚本。如果将null传递为Environment,Java不会自动继承所有此类变量吗? 问题答案: 应该