-1
cmd出力をJava varにリダイレクトしようとすると問題が発生します。JavaでのCmd出力の取得
マイ出典:
System.out.println("Init WAR packaging");
ProcessBuilder builder = new ProcessBuilder(Arrays.asList(new String[] {"cmd.exe", "/C", "start", "/wait", "new.bat"}));
Process process = builder.start();
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
StringBuilder strBuilder = new StringBuilder();
String line = null;
while (process.isAlive()) {
if((line = reader.readLine()) != null) {
strBuilder.append(line);
strBuilder.append(System.getProperty("line.separator"));
} else {
System.out.println("123");
Thread.sleep(10);
}
}
String result = strBuilder.toString();
System.out.println(result);
System.out.println("Start WAR packaging");
バッチが主に含まれています
jar -cvf test.war *.jsp *.xml
私はコンソールに入る出力:
Init WAR packaging
123
Start WAR packaging
私は私のCMDからの出力として取得しますので、すべての実際のCMD出力は次のようになります。
asdf.jsp wird hinzugefügt(ein = 17270) (aus = 4693)(72 % verkleinert)
qwer.jsp wird hinzugefügt(ein = 12969) (aus = 3519)(72 % verkleinert)
yxcv.jsp wird hinzugefügt(ein = 22463) (aus = 5375)(76 % verkleinert)
rewq.jsp wird hinzugefügt(ein = 30687) (aus = 6748)(78 % verkleinert)
jhgf.jsp wird hinzugefügt(ein = 47974) (aus = 11005)(77 % verkleinert)
私はそれが実際に見える方法だと思います。
グーグル/他のstackoverflow質問に記載されている情報に手が届かなかったので、本当に助けていただければ幸いです。
はありがとうと素敵な一日:)
EDITあります
aratajにより示唆されるように、私は、全体のコードを修正(私は右のあなたを得た願っています):
ProcessBuilder builder = new ProcessBuilder(Arrays.asList(new String[] {"cmd.exe", "/C", "start", "/wait", "new.bat"}));
Process process = builder.start();
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
StringBuilder strBuilder = new StringBuilder();
String line = null;
while (process.isAlive()) {
Thread.sleep(10);
line = reader.readLine();
strBuilder.append(line);
strBuilder.append(System.getProperty("line.separator"));
}
line = reader.readLine();
strBuilder.append(line);
String result = strBuilder.toString();
System.out.println(result);
コンソール出力を:
Init WAR packaging
null
null
Start WAR packaging
なぜ誰かがこれを嫌う –