« | August 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | | | | | |
| 公告 |
One blog (or more) a day, keep bad mood away, and make life wonderful!
-- by 小生
Blog正在逐步成长中,小生与您共享思维火花,畅想IT时代!
|
Blog信息 |
blog名称:小生杂谈 日志总数:166 评论数量:377 留言数量:1 访问次数:1012434 建立时间:2004年11月7日 |

| |
[编程技术]Java中执行程序并获取输出 软件技术
Wonderow 发表于 2004/12/6 17:17:35 |
因为项目中要使用到相关技术,查了一下,是用Runtime类来完成的:
String sErr, sOut, sLine;
Process p = Runtime.getRuntime().exec("command");
InputStreamReader e = new InputStreamReader(p.getErrorStream());
InputStreamReader r = new InputStreamReader(p.getInputStream());
LineNumberReader eLine = new LineNumberReader (e);
sErr="";
while ((sLine = eLine.readLine ()) != null)
sErr += sLine + '\n';
LineNumberReader rLine = new LineNumberReader (r);
sOut="";
while ((sLine = rLine.readLine ()) != null)
sOut += sLine + '\n';
其中command是想执行的程序,这是是获取标准错误和标准输出的内容,分别放在sErr和sOut中。
在Linux下如果想获得某个时刻的top结果,command可以写成:top -b -n 1,但这时读标准错误会挂掉,不知道为什么。 |
|
|