2015-04-25 1 views
0

Я пытаюсь запустить другую программку из Java кода:Runtime.getRuntime() Exec() вопрос

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); 

У меня нет файла proceeded.shp создан в/главном/пользователе/​​myoldfiles/ Вывод команды, полученный с 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. 

И успешно создает файл continueed.shp. Что я делаю неправильно в Java-коде?

+1

Постарайтесь предоставить полный путь к: 'gdal_polygonize.py' – alfasin

+0

« gdal_polygonize.py »- это команда типа« ls »или« cd » –

+0

Это должно дать вам ошибку о том, что происходит не так, например' не может найти файл gdal_polygonize.py' или что-то в этом роде ... вы получили какую-то ошибку? если так, пожалуйста, отредактируйте – vlatkozelka

ответ

0

Спасибо всем за помощь! Я нахожу решение here. Проблема заключалась в одинарных кавычках в «ESRI Shapefile», я просто удалил их, и теперь все работает отлично!