java调用cmd,一个操作需要多次输入

利用java执行cmd指令,比如我执行一条语句之后会提示确定,但是Process好像卡住了,我该如何利用代码把确定操作输入到这个Process比如给ca添加证书需要1.添... 利用java执行cmd指令,比如我执行一条语句之后会提示确定,但是Process好像卡住了,我该如何利用代码把确定操作输入到这个Process 比如 给ca添加证书 需要1.添加证书, 2.输入密码 可是现在我只能执行到添加证书,2不知道如何输入到同一个process 展开
 我来答
kyo145236
推荐于2017-09-22 · TA获得超过301个赞
知道小有建树答主
回答量:212
采纳率:100%
帮助的人:202万
展开全部
利用java的管道重定义。核心代码如下,剩下自己组织

Process process = Runtime.getRuntime().exec("cmd");
PrintWriter out = new PrintWriter(process.getOutputStream());
String cmd ; //你的cmd命令
InputStream is = process.getInputStream() //cmd返回出来的信息
out.println(cmd); //输入你的命令
out.flush(); //写到控制台
更多追问追答
追问
您好,试了一下您说的这一种.发现回来的process.getOutputStream()输出流为空    因为输入的这条cmd指令需要后续的操作(输入密码,或者确定)才能有相应.
追答
//以下部分写成线程监控控制台返回的信息
byte[] buf = new byte[1024];
int size;
while(true) {
try {
while((size = is.read(buf)) != -1) {
//获取到第一次cmd返回的信息,然后根据返回后的信息再做第二次cmd写入
System.out.println(new String(buf,0,size,"GB2312"));
}
} catch (IOException e) {
e.printStackTrace();
break;
}
}

====================================================
通过线程监视控制台返回给你的信息,然后对控制台进行第二次输入
或者你可以每次输入参数后获取一下控制台返回给你的信息再做操作
====================================================
请注意,process.getOutputStream()获取的是你的输入参数

process.getInputStream() 是在你输入参数之后,获取控制台返回给你的信息

然后再次out.println(cmd);
out.flush();
之后再次获取控制台返回给你的信息。
lemontr06
2018-02-07
知道答主
回答量:1
采纳率:0%
帮助的人:891
展开全部
大哥 问题搞定了没?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
娱乐这个feel倍爽儿
推荐于2017-09-24 · 人生如戏,戏如人生 娱百家事,乐万千户
娱乐这个feel倍爽儿
采纳数:47983 获赞数:334151

向TA提问 私信TA
展开全部
用JAVA代码实现执行CMD命令的方法:
Runtime rt = Runtime.getRuntime();
Process p = rt.exec(String[] cmdarray);
或者 Process p = rt.exec(String cmd);
cmd命令格式为 "cmd.exe /c ipconfig /all"
对像p为进程,在给p赋值以前,必须保证p为空
if(p != null){
p.destory();
p = null;
}
ava的Runtime.getRuntime().exec(commandStr)可以调用执行cmd指令。

cmd /c dir 是执行完dir命令后关闭命令窗口。

cmd /k dir 是执行完dir命令后不关闭命令窗口。

cmd /c start dir 会打开一个新窗口后执行dir指令,原窗口会关闭。

cmd /k start dir 会打开一个新窗口后执行dir指令,原窗口不会关闭。

可以用cmd /?查看帮助信息。

★CMD命令★
1. gpedit.msc-----组策略
2. sndrec32-------录音机
3. Nslookup-------IP地址侦测器
4. explorer-------打开资源管理器
5. logoff---------注销命令
6. tsshutdn-------60秒倒计时关机命令
7. lusrmgr.msc----本机用户和组
8. services.msc---本地服务设置
9. oobe/msoobe /a----检查XP是否激活
10. notepad--------打开记事本
11. cleanmgr-------垃圾整理
12. net start messenger----开始信使服务
13. compmgmt.msc---计算机管理
14. net stop messenger-----停止信使服务
15. conf-----------启动netmeeting
16. dvdplay--------DVD播放器
17. charmap--------启动字符映射表
18. diskmgmt.msc---磁盘管理实用程序
19. calc-----------启动计算器
20. dfrg.msc-------磁盘碎片整理程序
21. chkdsk.exe-----Chkdsk磁盘检查
22. devmgmt.msc--- 设备管理器
23. regsvr32 /u *.dll----停止dll文件运行
24. drwtsn32------ 系统医生
25. rononce -p ----15秒关机
26. dxdiag---------检查DirectX信息
27. regedt32-------注册表编辑器
28. Msconfig.exe---系统配置实用程序
29. rsop.msc-------组策略结果集
30. mem.exe--------显示内存使用情况
31. regedit.exe----注册表
32. winchat--------XP自带局域网聊天
33. progman--------程序管理器
34. winmsd---------系统信息
35. perfmon.msc----计算机性能监测程序
2. 36. winver---------检查Windows版本
37. sfc /scannow-----扫描错误并复原
38. taskmgr-----任务管理器(2000/xp/2003
39. winver---------检查Windows版本
40. wmimgmt.msc----打开windows管理体系结构(WMI)
41. wupdmgr--------windows更新程序
42. wscript--------windows脚本宿主设置
43. write----------写字板
44. winmsd---------系统信息
45. wiaacmgr-------扫描仪和照相机向导
46. winchat--------XP自带局域网聊天
47. mem.exe--------显示内存使用情况
48. Msconfig.exe---系统配置实用程序
49. mplayer2-------简易widnows media player
50. mspaint--------画图板
51. mstsc----------远程桌面连接
52. mplayer2-------媒体播放机
53. magnify--------放大镜实用程序
54. mmc------------打开控制台
55. mobsync--------同步命令
56. dxdiag---------检查DirectX信息
57. drwtsn32------ 系统医生
58. devmgmt.msc--- 设备管理器
59. dfrg.msc-------磁盘碎片整理程序
60. diskmgmt.msc---磁盘管理实用程序
61. dcomcnfg-------打开系统组件服务
62. ddeshare-------打开DDE共享设置
63. dvdplay--------DVD播放器
64. net stop messenger-----停止信使服务
65. net start messenger----开始信使服务
66. notepad--------打开记事本
67. nslookup-------网络管理的工具向导
68. ntbackup-------系统备份和还原
69. narrator-------屏幕“讲述人”
70. ntmsmgr.msc----移动存储管理器
71. ntmsoprq.msc---移动存储管理员操作请求
72. netstat -an----(TC)命令检查接口
73. syncapp--------创建一个公文包
74. sysedit--------系统配置编辑器
75. sigverif-------文件签名验证程序
76. sndrec32-------录音机
77. shrpubw--------创建共享文件夹
78. secpol.msc-----本地安全策略
79. syskey---------系统加密,一旦加密就不能解开,保护windows xp系统的双重密码
80. services.msc---本地服务设置
81. Sndvol32-------音量控制程序
82. sfc.exe--------系统文件检查器
83. sfc /scannow---windows文件保护
84. tsshutdn-------60秒倒计时关机命令
3. 84. tsshutdn-------60秒倒计时关机命令
85. tourstart------xp简介(安装完成后出现的漫游xp程序)
86. taskmgr--------任务管理器
87. eventvwr-------事件查看器
88. eudcedit-------造字程序
89. explorer-------打开资源管理器
90. packager-------对象包装程序
91. perfmon.msc----计算机性能监测程序
92. progman--------程序管理器
93. regedit.exe----注册表
94. rsop.msc-------组策略结果集
95. regedt32-------注册表编辑器
96. rononce -p ----15秒关机
97. regsvr32 /u *.dll----停止dll文件运行
98. regsvr32 /u zipfldr.dll------取消ZIP支持
99. cmd.exe--------CMD命令提示符
100. chkdsk.exe-----Chkdsk磁盘检查
101. certmgr.msc----证书管理实用程序
102. calc-----------启动计算器
103. charmap--------启动字符映射表
104. cliconfg-------SQL SERVER 客户端网络实用程序
105. Clipbrd--------剪贴板查看器
106. conf-----------启动netmeeting
107. compmgmt.msc---计算机管理
108. cleanmgr-------垃圾整理
109. ciadv.msc------索引服务程序
110. osk------------打开屏幕键盘
111. odbcad32-------ODBC数据源管理器
112. oobe/msoobe /a----检查XP是否激活
113. lusrmgr.msc----本机用户和组
114. logoff---------注销命令
115. iexpress-------木马捆绑工具,系统自带
116. Nslookup-------IP地址侦测器
117. fsmgmt.msc-----共享文件夹管理器
118. utilman--------辅助工具管理器
119. gpedit.msc-----组策略
120. explorer-------打开资源管理器
javac 其实执行了 只是没有输出执行结果 因为你没有输出执行结果的部分
如果你执行Runtime.getRuntime.exec("cmd");
也看不到结果
因为它不是在java程序中执行的而是在操作系统上执行的
你可以这样Runtime.getRuntime.exec("cmd /c start javac ");
就可以看到一个命令行窗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式