=Start=

缘由:

收集整理一下在Java中如何获取WiFi相关信息的方法,方便需要的时候使用。

正文:

参考解答:

简单来说就是:Java中没有原生的类来实现这个功能(不像获取IP或主机名时还有NetworkInterface这个类可用),可以使用JNI调用本机库或使用Runtime调用系统命令来实现这一底层一点的功能。

Java is not designed to do that kind of things, is hard to implement in a platform-independent way and any hardware-level detail can not be managed in Java by principle.

下面简单记录一下在macOS系统中使用Runtime调用系统命令来实现获取WiFi相关信息的功能:

import java.io.IOException;

import java.util.HashMap;

import java.util.Map;

import java.util.Scanner;

public class JavaExecCmd {

public static String execReadToString(String execCommand) throws IOException {

try (Scanner s = new Scanner(Runtime.getRuntime().exec(execCommand).getInputStream()).useDelimiter("\\A")) {

return s.hasNext() ? s.next() : "";

}

}

public static Map getWifiInfo() {

Map wifiMap = new HashMap<>();

String macCommand = "/System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -I";

String wifiInfo = null;

try {

wifiInfo = execReadToString(macCommand);

} catch (IOException e) {

e.printStackTrace();

return wifiMap;

}

// System.out.println(wifiInfo);

for (String line: wifiInfo.split("\n")) {

if (line.contains(" SSID:")) {

wifiMap.put("ssid", line.split(":", 2)[1].trim());

} else if (line.contains("BSSID:")) {

wifiMap.put("bssid", line.split(":", 2)[1].trim());

}

}

return wifiMap;

}

public static void main(String[] args) {

Map result = null;

result = getWifiInfo();

System.out.println(result);

}

}

在Windows上如何希望获取和WiFi相关的信息可以通过如下命令:

> netsh wlan show profiles

> for /f "skip=9 tokens=1,2 delims=:" %i in ('netsh wlan show profiles') do @echo %j | findstr -i -v echo | netsh wlan show profiles %j key=clear

参考链接:

=END=

java wifi信息_Java中如何获取WiFi的名称和信息?相关推荐

  1. java dump 线程_Java 中怎么获取一份线程 dump 文件

    展开全部 当服务器挂起,崩溃或者性能底下时,就需要抓取服务器的线程堆636f707962616964757a686964616f31333363363533栈(Thread Dump)用于后续的分析. ...

  2. 在Windows, Mac, Linux三种系统中分别获取wifi密码的方式

    在Windows, Mac, Linux三种系统中分别获取wifi密码的方式 1. Windows netsh wlan show profile name=wifi名称 key=clear | fi ...

  3. android 查询wifi信息的类,Android 获取wifi信息

    在androi中WIFI信息的获取可以通过系统提供的WIFI Service获取. WifiManager wifi_service = (WifiManager)getSystemService(W ...

  4. java 股票 代码_Java中利用散列表实现股票行情的查询_java

    ---- 在java中,提供了一个散列表类Hashtable,利用该类,我们可以按照特定的方式来存储数据,从而达到快速检索的目的.本文以查询股票的收盘数据为例,详细地说明java中散列表的使用方法. ...

  5. java cache教程_Java 中常用缓存Cache机制的实现

    缓存主要可分为二大类: 一.通过文件缓存,顾名思义文件缓存是指把数据存储在磁盘上,不管你是以XML格式,序列化文件DAT格式还是其它文件格式: 二.内存缓存,也就是实现一个类中静态Map,对这个Map ...

  6. java同步队列_Java 中队列同步器 AQS(AbstractQueuedSynchronizer)实现原理

    前言 在 Java 中通过锁来控制多个线程对共享资源的访问,使用 Java 编程语言开发的朋友都知道,可以通过 synchronized 关键字来实现锁的功能,它可以隐式的获取锁,也就是说我们使用该关 ...

  7. java timestamp 使用_Java中针对Timestamp的操作解析

    Java中针对Timestamp的数据类型操作 数据库使用Oracle 10g 32位,存在一张表STU(学生表). 这里写图片描述 二.项目结构图 这里写图片描述 三.关键代码 Stu (bean) ...

  8. java喜好设置_Java中使用Preferences 的 API设置用户偏好

    Preferences的中文意思即偏好或喜好的意思,也就是说同一个程序在每次运行完后,可以通过Preferences来记录用户的偏好,下次启动时,程序会利用这些信息来了解用户的喜好.而这些信息个人理解 ...

  9. java 字符串总结_Java中字符串(String)总结

    先说说JDK API: JDK中包含大量的API类库,所谓API(Application Programming Interface,应用程序编程接口,这些功能以类的形式封装). JDK API包含的 ...

最新文章

  1. c语言main的作用是什么意思,c语言intmain()是什么意思
  2. 守护进程的创建方法和步骤
  3. 网络营销外包专员浅析网络营销外包推广运营效果究竟如何?
  4. 修改grub2安装双系统的windows引导
  5. CentOS7Jenkins安装
  6. http://www.myeclipseide.com/ 官网打不开的问题(转)
  7. 博途中用的是c吗_配置太低玩不了赛博朋克?学会用这个电脑、手机都能轻松玩2077...
  8. 1 物料xxxxxx在仓库101里不存在
  9. websocket的加密和解密过程
  10. D-Link 不止暴露固件镜像密钥,还被曝5个严重0day
  11. [工具类]泛型集合转换为DataTable
  12. 多帧点云数据拼接合并_点云拼接
  13. 解决Chrome账户无法同步
  14. html怎么设置取消隐藏,怎么取消wifi隐藏_取消隐藏wifi设置方法-192路由网
  15. SAP ABAP EXCEL导出多个SHEET页签
  16. CAD“左手键”快捷命令表,大大提高绘图效率
  17. 【xla】四、【构图阶段】BuildXlaOpsPass
  18. 2020年项目经验分享:20厘米厚的无人机激光雷达点云,能否做大比例尺的河道数字高程模型?
  19. p牛java安全漫谈学习笔记(2)_反序列化与urldns链(基础)
  20. STM32CubeMX学习笔记(9)——I2C接口使用(读写EEPROM AT24C02)

热门文章

  1. 玻璃幕墙清洗机器人市场前景_用机器人清洗高楼玻璃幕墙,这个团队前景我们给满分!...
  2. 清华大学计算机学教授,艾海舟,清华大学计算机系教授
  3. 佐冶亚理工学院计算机WeiXU博士,2020年佐治亚理工博士读几年
  4. 我要么进一线外企、要么进一线互联网大厂之算法(1)
  5. 项目结题软件测试文本,课题实验结题报告.doc
  6. QML Canvas-雷达
  7. Guava-EventBus使用详解
  8. SystemVerilog学习之路(6)— 最小时间和时间片
  9. 关于系统工程理论与实践的latex模板
  10. 工具使用|神器Sqlmap tamper的使用介绍