国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

嘗試使用Runtime.getRuntime()。exec()執行Java jar

瀏覽:129日期:2024-04-29 10:16:43
如何解決嘗試使用Runtime.getRuntime()。exec()執行Java jar?

使用由Process返回的實例exec()

Process cat = Runtime.getRuntime().exec('java -jar C:/cat.jar C:/test.txt');BufferedInputStream catOutput= new BufferedInputStream(cat.getInputStream());int read = 0;byte[] output = new byte[1024];while ((read = catOutput.read(output)) != -1) { System.out.println(output[read]);}

參考:http ://docs.oracle.com/javase/7/docs/api/java/lang/Process.html

默認情況下,創建的子進程沒有自己的終端或控制臺。其所有標準I /O(stdin,stdout,stderr)操作都將重定向到父進程,在該父進程中,可以通過使用方法getoutputStream(),getInputStream()和getErrorStream()獲得的流來訪問它們。

http://docs.oracle.com/javase/7/docs/api/java/lang/Process.html#getInputStream()

getInputStream()返回連接到子流程正常輸出的輸入流。

解決方法

在我正在處理的項目中,我需要執行資源文件夾(位于類路徑中)中的腳本。我只是在測試最終的腳本功能,因為我在Windows上,所以我需要一種將文件輸出到STDIN的方法,因此我創建了一個簡單的cat.jar程序來克隆unixscat命令。

因此,當我執行“ java -jar cat.jar someFile.txt”時,它將輸出文件到stdout。我敢肯定,我做的事情有不同的方式。

無論如何,我想從主Java程序運行該JAR。我在做

Runtime.getRuntime().exec('java -jar C:/cat.jar C:/test.txt');

我嘗試過將正斜杠切換為反斜杠并轉義了-沒有用。什么都沒有發送到標準輸出。

在哪里,如果我自己運行貓罐,我會將文件定向到標準輸出。

我在這里做錯了什么?這是足夠的信息嗎?

標簽: java
相關文章:
主站蜘蛛池模板: 潞西市| 青川县| 辽阳县| 临西县| 镇雄县| 喀喇沁旗| 柳州市| 葵青区| 东阳市| 合水县| 文水县| 黑河市| 莎车县| 壶关县| 姚安县| 新宾| 灵川县| 青海省| 都江堰市| 兴和县| 湘西| 余干县| 栾川县| 库尔勒市| 嵊泗县| 手游| 板桥市| 益阳市| 大丰市| 阿克苏市| 泽库县| 江北区| 兴隆县| 黎平县| 乾安县| 荆州市| 商洛市| 宁晋县| 龙里县| 赤水市| 息烽县|