java如何读取本机arp表?

chygao 2009-10-25 12:24:49
请问:Java有对缓冲区进行操作的么?我想读取本机arp表,来获得局域网内某一ip的Mac地址,请高人指教!
...全文
255 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
luopowusheng 2009-10-25
  • 打赏
  • 举报
回复
http://www.javaeye.com/topic/417037
看看这个帖子,对楼主也许有帮助!
chygao 2009-10-25
  • 打赏
  • 举报
回复
[Quote=引用楼主 chygao 的回复:]
请问:Java有对缓冲区进行操作的么?我想读取本机arp表,来获得局域网内某一ip的Mac地址,请高人指教!
[/Quote]


能不能详细点,谢谢!
lz12366007 2009-10-25
  • 打赏
  • 举报
回复
我觉得应该调用cmd命令 获得返回的数据。。。
lz12366007 2009-10-25
  • 打赏
  • 举报
回复
上面有点错误


public void startdemo() throws IOException
{
ProcessBuilder builder = new ProcessBuilder("cmd","/c", "arp -a");

Process process = builder.start();
InputStream is = process.getInputStream();
InputStreamReader isr = new InputStreamReader(is, "GBK");
BufferedReader br = new BufferedReader(isr);
String line;
while ((line = br.readLine()) != null)
{
System.out.println(line);
}

}
lz12366007 2009-10-25
  • 打赏
  • 举报
回复
public void startdemo() throws IOException
{
ProcessBuilder builder = new ProcessBuilder("cmd","/c", "arp -a");
builder.directory(new File("e:/"));
Process process = builder.start();
InputStream is = process.getInputStream();
InputStreamReader isr = new InputStreamReader(is, "GBK");
BufferedReader br = new BufferedReader(isr);
String line;
//System.out.printf("Output of running %s is:", Arrays.toString(args));
while ((line = br.readLine()) != null)
{
System.out.println(line);
}

62,621

社区成员

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

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