日期:2014-05-20  浏览次数:20799 次

java中Runtime的输入输出控制如何是好
刚刚接触到Runtime,像dir这样的命令已经会调用了。但是cmd下date存在交互过程(即可以往控制台可以输入新日期来设置),有哪位大虾能Demo一下,如何能正确地调用cmd下的date命令。我主要是想了解一下它的输入输出流的控制,以及如何向外部程序不断输入新的参数(也就是交互式运行)。
我是在Eclipse下编写的,是否需要注意系统默认的InputStream,OutputStream
指定?
希望大虾们在Demo时,能像在cmd下那样的效果:

D:\> date
当前日期:   2007-03-29   星期四
输入新日期:   (年月日)   asdf
系统无法接受输入的日期。
输入新日期:   (年月日)   2007/3/29

D:\>

------解决方案--------------------
好题。希望知道的人讲一下。因为这是个很重要的问题。还比如如何实现mysql备份的问题。需要有输入密码。所以请知道的顶一下。
------解决方案--------------------
转一个别人告诉我的方法:

Runtime.exec的返回结果是一个Process,
而Process对象有三个方法
getInputStream
getOutputStream
getErrorStream
分别可以取得Process的输入、输出、错误输出流
如果你需要向进程写入参数,可以用getOutputStream取得输出流,然后往输出流里写参数。

提示:你可以用PrintWriter将这个输出流封装一下,使用println方法来输出 ,会方便得多