关于runtime的问题!

kenshin520 2004-06-24 05:42:37
请问我在dos状态使用net view 结果如下
服务器名称 注释

-------------------------------------------------------------------------------
\\ABC
\\EFG
我想在java实现这个功能,代码如下

import java.io.*;
import java.net.URI;


class MacAddress{
public MacAddress(){}
public static String getMyMac(){
String s="";
try{
String s1="net view";
Process pro=Runtime.getRuntime().exec(s1);
BufferedReader buf=new BufferedReader(new InputStreamReader(pro.getInputStream()));
String line=buf.readLine();
System.out.println(line);
buf.close();
pro.waitFor();
}
catch(Exception e){
System.err.println(e);
}
return s;
}
public static void main(String args[]){
System.out.println(MacAddress.getMyMac());
}
}
为什么结果总是得到如下结果
服务器名称 注释
其他的为什么得不到呢?????????????
...全文
94 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
kenshin520 2004-06-25
  • 打赏
  • 举报
回复
應該改成循環的形式
while((line=buf.readLine())!= null){
System.out.println(line);
}
就可以了,謝謝大家給我的提示!
kenshin520 2004-06-24
  • 打赏
  • 举报
回复
to JavaVsNet(JavaVsNet)
加上循环也是一样的,我试过了!
to Arias(永恒之道)
你的方法,我还没有实验呢,不过我认为是可以的。
总是,谢谢大家了~~~~~~~~~~~~~~~~~~~`
passren 2004-06-24
  • 打赏
  • 举报
回复
呵呵呵,同意楼上
Arias 2004-06-24
  • 打赏
  • 举报
回复
String line=buf.readLine();这句话只能取得第一行的窜!

应该:
if((line=buf.readLine())!= -1)System.out.println(line);

这样试一试!!
BigBangBug 2004-06-24
  • 打赏
  • 举报
回复
因为你只有一行String line=buf.readLine();阿....
用个循环就有了

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧