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

您的位置:首頁技術(shù)文章
文章詳情頁

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

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

使用由Process返回的實(shí)例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

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

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

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

解決方法

在我正在處理的項(xiàng)目中,我需要執(zhí)行資源文件夾(位于類路徑中)中的腳本。我只是在測(cè)試最終的腳本功能,因?yàn)槲以赪indows上,所以我需要一種將文件輸出到STDIN的方法,因此我創(chuàng)建了一個(gè)簡(jiǎn)單的cat.jar程序來克隆unixscat命令。

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

無論如何,我想從主Java程序運(yùn)行該JAR。我在做

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

我嘗試過將正斜杠切換為反斜杠并轉(zhuǎn)義了-沒有用。什么都沒有發(fā)送到標(biāo)準(zhǔn)輸出。

在哪里,如果我自己運(yùn)行貓罐,我會(huì)將文件定向到標(biāo)準(zhǔn)輸出。

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

標(biāo)簽: java
相關(guān)文章:
主站蜘蛛池模板: 甘泉县| 廊坊市| 独山县| 邢台县| 崇文区| 壶关县| 宣城市| 台山市| 上杭县| 涟水县| 青浦区| 囊谦县| 西安市| 东兰县| 那曲县| 渭源县| 金山区| 宁城县| 海淀区| 呼玛县| 锡林浩特市| 榕江县| 华池县| 平阳县| 福鼎市| 远安县| 平南县| 宁波市| 金门县| 吴旗县| 夏邑县| 军事| 北安市| 桃江县| 育儿| 夹江县| 沁阳市| 特克斯县| 定结县| 乌兰县| 逊克县|