我當時解決的辦法是。

市中ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!
p.getOutputStream()
p.getErrorStream()
都不停地往外讀取內(nèi)容。
原因是這樣的,bat命令輸出的內(nèi)容會輸出到一塊緩沖區(qū)內(nèi)存中。
如果你不及時讀取出來,當緩沖區(qū)內(nèi)存滿了以后,
bat命令會停止執(zhí)行。
所以辦法就是要把執(zhí)行bat命令的輸出內(nèi)容讀取出來,不能讓緩沖區(qū)滿。
java可使用Runtime.exec執(zhí)行bat文件,示例代碼如下:
import java.io.*;
import java.util.*;
public class TestExec {
public void runbat(int name) {
String cmd = "cmd /c start D:/bat/"+name+".bat";
try {
Process ps = Runtime.getRuntime().exec(cmd);
System.out.println(ps.getInputStream());
} catch(IOException ioe) {
ioe.printStackTrace();
}
}
public static void main(String[] args){
TestExec test1 = new TestExec ();
test1.runbat("abc");
}
}
其中,abc.bat可以是已經(jīng)存在的bat,也可以是動態(tài)生成的bat(如果需要根據(jù)已有參數(shù)執(zhí)行bat,則可以使用動態(tài)生成bat文件的方式)
public static void main(String[] args) {
try {
String command = "C:\\Users\\Administrator\\Desktop\\do.bat";
Process p = Runtime.getRuntime().exec(command);
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream(),"GBK"));//注意中文編碼問題
String line;
while ((line = br.readLine()) != null) {
System.out.println("StartedLog=="+line);
}
br.close();
} catch (IOException e) {
}
}
自己試試吧,不知道可行不可行.
建議你用java
ANT
先寫一個ANT的
BUILD.XML
(網(wǎng)上自己找下)
然后寫腳本
a.bat
ant
-v
然后執(zhí)行a.bat就行了
(2)
或者直接在BAT里寫
JAVAC
*.java命令都可以。
在window下bat批處理文件調(diào)用實現(xiàn)java方法。
代碼如下:
@echo off
echo 正在加密,請稍后....
echo path:%~dp0
set base=%~dp0
set class=%base%\bin
set libs=%base%\lib
set class_path=%class%;%libs%\c3p0-0.9.1.2.jar;%libs%\mysql-connector-java-5.0.8-bin.jar;
java -classpath %class_path% com.test.Main
@pause
classes目錄是java編譯后的class目錄
libs目錄存放的所要使用到的jar
startNet.bat啟動的bat文件
網(wǎng)頁題目:java代碼bat運行 bat 執(zhí)行bat
本文網(wǎng)址:http://chinadenli.net/article0/doojjio.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、微信公眾號、靜態(tài)網(wǎng)站、外貿(mào)網(wǎng)站建設、服務器托管、網(wǎng)站收錄
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)