为了账号安全,请及时绑定邮箱和手机立即绑定

从Java流程执行时,跳过批处理文件中的暂停命令

从Java流程执行时,跳过批处理文件中的暂停命令

达令说 2021-04-07 17:13:18
很抱歉,如果这是重复的,但没有其他解决方案。我正在尝试编写一个Java应用程序,该应用程序将调用批处理文件,打印出该批处理文件在做什么,然后等待其完成执行,然后再执行其他任何操作。我已经读过,通过Process.getOutputStream()发送换行会触发“按任意键继续...”提示,但它对我而言并不是这样做。这是我的test.bat:@echo offecho This is a test batch file.echo This text should be readable in the console windowecho Pausing...pauseecho done.exit这是我的Java驱动程序:public class Tester {    String cmd[] = { "cmd", "/c", "C:/Test Folder/test.bat" };    BufferedReader in = null;    BufferedWriter out = null;    Process p = null;     在while循环中,它将打印出:Starting process...Started process 2018699554INFO [2018699554] > This is a test batch file.INFO [2018699554] > This text should be readable in the console windowINFO [2018699554] > Pausing...而且永远不要传递暂停语句。我尝试重定向错误输出,发送VK_ENTER并发送随机密钥全部无济于事。有任何想法吗?
查看完整描述

1 回答

?
慕哥9229398

TA贡献1877条经验 获得超6个赞

使用缓冲的写入器,您必须在实际写入之前刷新缓冲区。在out.write()之后调用out.flush()。


查看完整回答
反对 回复 2021-04-14
  • 1 回答
  • 0 关注
  • 188 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信