2 u013605260 u013605260 于 2014.11.05 18:56 提问

java程序调用DOS命令有问题

我在使用java运行一个dos命令时候出现了一个问题:

该dos命令见如下代码中的command字符串,将该字符串敲入命令行界面运行良好,其中dtm-win32是一个可执行程序,后面跟着的是这个程序的诸多参数。这个可执行程序通常需要运行20分钟左右。

我想在java程序中运行该可执行程序,但是出现一个奇怪的现象:java程序成功启动了该可执行程序,但过了几秒钟后,这个可执行程序就阻塞了,当我终止了java程序后,该可执行程序后恢复了运行,而且每次都是这样,如果有人碰到类似的问题,希望可以帮我解决。
我的java程序如下(try catch段就不放上来了):

String command = "dtm-win32
                  --ntopics 20 
                  --mode fit 
                  --rng_seed 0 
                  --initialize_lda true 
                  --corpus_prefix test 
                  --outname model_run 
                  --top_chain_var 0.005 
                  --alpha 0.01 
                  --lda_sequence_min_iter 6 
                  --lda_sequence_max_iter 20 
                  --lda_max_em_iter 10";
Process process = Runtime.getRuntime().exec(command);
BufferedReader br = new BufferedReader(newInputStreamReader(process.getInputStream()));
while((s = br.readLine()) != null) {
    System.out.println(s);
}
br.close();
process.waitFor();
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!