
方法如下:
方法一,使用CMD命令:
public static String getLocalIPForCMD(){
StringBuilder sb = new StringBuilder();
String command = "cmdexe /c ipconfig | findstr IPv4";
try {
Process p = RuntimegetRuntime()exec(command);
BufferedReader br = new BufferedReader(new InputStreamReader(pgetInputStream()));
String line = null;
while((line = brreadLine()) != null){
line = linesubstring(linelastIndexOf(":")+2,linelength());
sbappend(line);
}
brclose();
pdestroy();
} catch (IOException e) {
eprintStackTrace();
}
return sbtoString();
}
方法二,使用Java方法:
public static String getLocalIPForJava(){
StringBuilder sb = new StringBuilder();
try {
Enumeration<NetworkInterface> en = NetworkInterfacegetNetworkInterfaces();
while (enhasMoreElements()) {
NetworkInterface intf = (NetworkInterface) ennextElement();
Enumeration<InetAddress> enumIpAddr = intfgetInetAddresses();
while (enumIpAddrhasMoreElements()) {
InetAddress inetAddress = (InetAddress) enumIpAddrnextElement();
if (!inetAddressisLoopbackAddress() && !inetAddressisLinkLocalAddress()
&& inetAddressisSiteLocalAddress()) {
sbappend(inetAddressgetHostAddress()toString()+"\n");
}
}
}
} catch (SocketException e) { }
return sbtoString();
}
java可以使用javax提供的print工具类,访问到系统的打印机基本信息,示例如下:
import javaioFile;
import javaioFileInputStream;
import javaxprintDoc;
import javaxprintDocFlavor;
import javaxprintDocPrintJob;
import javaxprintPrintService;
import javaxprintPrintServiceLookup;
import javaxprintServiceUI;
import javaxprintSimpleDoc;
import javaxprintattributeDocAttributeSet;
import javaxprintattributeHashDocAttributeSet;
import javaxprintattributeHashPrintRequestAttributeSet;
import javaxswingJFileChooser;
public class Printers
{
public static void main(String[] args)
{
HashPrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
DocFlavor flavor = DocFlavorINPUT_STREAMAUTOSENSE;
//查找所有的可用的打印服务
PrintService[] printService = PrintServiceLookuplookupPrintServices(flavor, pras);
for (int i =0; i<printServicelength ;i++ )
{
Systemoutprintln(printService[i]getName());
}
}
}
java中是没有的,wifi是需要有硬件设备去支持,不过android中有提供相应的api,也是java写的噢
在Android中对Wifi *** 作,android本身提供了一些有用的包,在androidnetwifi包下面。主要包括以下几个类和接口:
1ScanResult
主要用来描述已经检测出的接入点,包括接入点的地址,接入点的名称,身份认证,频率,信号强度等信息。
2WifiConfiguration
Wifi网络的配置,包括安全设置等。
3WifiInfo
wifi无线连接的描述,包括接入点,网络连接状态,隐藏的接入点,IP地址,连接速度,MAC地址,网络ID,信号强度等信息。这里简单介绍一下这里的方法:
getBSSID() 获取BSSID
getDetailedStateOf() 获取客户端的连通性
getHiddenSSID() 获得SSID 是否被隐藏
getIpAddress() 获取IP 地址
getLinkSpeed() 获得连接的速度
getMacAddress() 获得Mac 地址
getRssi() 获得80211n 网络的信号
getSSID() 获得SSID
getSupplicanState() 返回具体客户端状态的信息
4WifiManager
这个不用说,就是用来管理我们的wifi 连接,这里已经定义好了一些类,可以供我们使用。
获取WIFI网卡的状态
WIFI网卡的状态是由一系列的整形常量来表示的。
1WIFI_STATE_DISABLED : WIFI网卡不可用(1)
2WIFI_STATE_DISABLING : WIFI网卡正在关闭(0)
3WIFI_STATE_ENABLED : WIFI网卡可用(3)
4WIFI_STATE_ENABLING : WIFI网正在打开(2) (WIFI启动需要一段时间)
5WIFI_STATE_UNKNOWN : 未知网卡状态
从Java游戏源码中获取模型数据,通常需要查看游戏中的模型加载代码。代码中通常会使用一些开源库或者自定义的工具类来读取模型文件,并将读取到的数据转换为程序中使用的数据结构。以下是一些常用的Java模型加载库和工具类:
1 jMonkeyEngine:jMonkeyEngine是一个开源的游戏引擎,可以用来创建Java游戏,并提供了一些用于读取和加载3D模型的工具类。
2 LWJGL:LWJGL是一个轻量级的Java游戏库,它提供了访问OpenGL、OpenAL和输入设备等底层功能的接口。可以使用它来读取和加载3D模型,并将模型数据转换为OpenGL所需的数据格式。
3 Assimp:Assimp是一个开源的模型导入库,支持多种模型格式,包括3D Studio Max、Collada、OBJ等。可以使用它来读取和加载模型,并将模型数据转换为程序中使用的数据结构。
4 自定义工具类:如果游戏源码没有使用上述库或者工具类,也可以自己编写工具类来读取和加载模型数据。通常需要根据模型文件格式,逐个读取文件中的数据,并将其转换为程序中使用的数据结构。
无论是使用开源库还是自定义工具类,都需要了解模型文件的格式和结构,以正确地读取和解析模型数据。一般来说,模型文件通常包含顶点坐标、法线、纹理坐标等信息,需要将这些信息转换为程序中使用的数据结构,然后传递给OpenGL或者其他引擎进行渲染。
我现在也在做java snmp4j去设备值,参考了一下百度给出的例子,想要从硬件设备里获取信息好像得需要有对应的节点值,具体的我也不是很清楚。刚接触SNMP协议,希望能一起交流一下。
以上就是关于java中获取本地IP地址全部的内容,包括:java中获取本地IP地址、java 打印 PrintService 如何获取客户端打印机、java中有和获取wifi信息的函数吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)