我想在linux/ubuntu/gnome中使用Java運行時執行程序運行perl命令。該命令生成一個pdf文件,但它將其保存在我的主文件夾中。 exec方法可以爲執行的命令設置輸出路徑嗎?提前致謝。運行時exec輸出路徑
1
A
回答
1
您可以修改Perl腳本以接受輸出的絕對路徑。
您可以嘗試使用exec(java.lang.String[], java.lang.String[], java.io.File)
設置工作目錄,其中File是執行命令的目錄。
如果一切都失敗了,您可以隨時將生成的文件從主目錄複製到最終位置。
2
exec
方法只是在操作系統上運行該命令,因此您需要更改使用exec
運行的命令,而不是「Java」本身。
有幾個可能性:
修改Java程序的工作目錄。
.pdf
正被保存在你的工作目錄中,因爲這是程序運行的地方。不幸的是,在程序啓動後改變這個值並不簡單。然而,在節目開始之前改變是微不足道的;只需在啓動程序之前更改工作目錄。
在您的主目錄中創建文件後,將文件移動到所需的位置。
更改命令以使其包含目標位置。您的perl腳本可能有一個選項,可以使您將其輸出保存到某個位置(通常爲
-o
或--output
)。使用這個程序會改變來自:Runtime.exec("perl someprogram");
喜歡的東西:
Runtime.exec("perl someprogram -o /path/to/some.file")
你也許可以用「輸出重定向」,如果沒有選擇這樣做。
嘗試像下面有什麼作爲你的論點:
Runtime.exec("perl someprogram > /path/to/some.file")
不幸的是,不知道你的情況更多的細節我無法提供更具體的建議。
雖然每種方法都有優點和缺點,但最好只實施最理想的方法;如果你不能讓一個人工作,嘗試另一個。
一個很好的免費的在線學習資源是Introduction to Linux: A Hands On Guide。
第2.2節有關於cd
的詳細信息,您可以使用它的1.
。
第3節。3,第3節講述了mv
命令,這將在2.
中有用。
5.1節是關於I/O重定向的。瞭解「輸出重定向」和>
運營商,對於4.
很重要。
對於3.
,您必須查閱您正在使用的perl程序的文檔。
相關問題
- 1. 運行Exec的變化路徑
- 2. 如何輸出運行路徑而不是位置路徑?
- 3. 如何在java運行時exec方法中提供長路徑?
- 4. 運行耙路徑時出錯
- 5. 更改exec()中的輸入路徑PHP
- 6. CloudBees運行時類路徑
- 7. exec zip根路徑
- 8. Java運行時exec
- 9. Middleman輸出路徑
- 10. 運行`npm install`時如何從node exec獲取輸出?
- 11. 運行時的exec()方法不重定向輸出
- 12. PHP的路徑問題運行反引號/ exec()
- 13. 路徑不運行
- 14. 將路徑傳遞給exec
- 15. Exec的更改路徑wget
- 16. 錯誤:產卵NG構建--watch - 輸出路徑,同時運行一飲而盡
- 17. Eclipse - 運行時類路徑外部文件夾路徑錯誤
- 18. 在運行時指定java屬性路徑的路徑
- 19. 使用manifest.mf類路徑的運行時類路徑
- 20. 運行時獲取路徑輸入文件
- 21. 如何獲取設置輸入文件路徑運行時?
- 22. 運行WordCount時輸入路徑不存在MapReduce
- 23. 與運行時執行命令(時)EXEC
- 24. WAS中的運行時類路徑
- 25. 運行ClasspathSuite時解析相對路徑
- 26. 運行時的Java類路徑
- 27. 輸出路徑和MSBuild的
- 28. 格式cmd.exe路徑輸出
- 29. 更改輸出路徑
- 30. MSBuild多輸出路徑