打开APP
未登录
开通VIP,畅享免费电子书等14项超值服
开通VIP
首页
好书
留言交流
下载APP
联系客服
java获取硬盘ID以及MAC地址等唯一标识码
江江385
>《java》
2012.10.12
关注
1、DiskUtils 获取硬盘编号
import
java.io.File;
import
java.io.FileWriter;
import
java.io.BufferedReader;
import
java.io.InputStreamReader;
class
DiskUtils
{
private
DiskUtils()
{
}
public
static
String
getSerialNumber(String
drive)
{
String
result
=
""
;
try
{
File
file
=
File.createTempFile(
"damn"
,
".vbs"
);
file.deleteOnExit();
FileWriter
fw
=
new
java.io.FileWriter(file);
String
vbs
=
"Set
objFSO
=
CreateObject(\"Scripting.FileSystemObject\")\n"
+
"Set
colDrives
=
objFSO.Drives\n"
+
"Set
objDrive
=
colDrives.item(\""
+
drive
+
"\")\n"
+
"Wscript.Echo
objDrive.SerialNumber"
;
//
see
note
fw.write(vbs);
fw.close();
Process
p
=
Runtime.getRuntime().exec(
"cscript
//NoLogo
"
+
file.getPath());
BufferedReader
input
=
new
BufferedReader(
new
InputStreamReader(
p.getInputStream()));
String
line;
while
((line
=
input.readLine())
!=
null
)
{
result
+=
line;
}
input.close();
}
catch
(Exception
e)
{
e.printStackTrace();
}
return
result.trim();
}
}
2、MacUtils 获取MAC地址
import
java.io.InputStreamReader;
import
java.io.LineNumberReader;
public
class
MacUtils
{
public
static
void
getMac(){
try
{
Process
process
=
Runtime.getRuntime().exec(
"ipconfig
/all"
);
InputStreamReader
ir
=
new
InputStreamReader(process.getInputStream());
LineNumberReader
input
=
new
LineNumberReader(ir);
String
line;
while
((line
=
input.readLine())
!=
null
)
if
(line.indexOf(
"Physical
Address"
)
>
0
)
{
String
MACAddr
=
line.substring(line.indexOf(
"-"
)
-
2
);
System.out.println(
"MAC
address
=
["
+
MACAddr
+
"]"
);
}
}
catch
(java.io.IOException
e)
{
System.err.println(
"IOException
"
+
e.getMessage());
}
}
}
3、
测试程序:
import
java.io.InputStreamReader;
import
java.io.LineNumberReader;
import
java.net.NetworkInterface;
import
java.net.SocketException;
import
java.util.Enumeration;
import
java.util.Vector;
public
class
TestMain
{
public
static
void
main(String[]
args)
{
//
TODO
Auto-generated
method
stub
//
System.out.println(
"***MAC地址***"
);
MacUtils.getMac();
//
String
sn
=
DiskUtils.getSerialNumber(
"C"
);
System.out.println(
"***硬盘编号***"
);
System.out.println(sn);
}
}
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报
。
打开APP,阅读全文并永久保存
查看更多类似文章
猜你喜欢
类似文章
【热】
打开小程序,算一算2024你的财运
java 输入函数
java socket 实现服务端与客户端
在java中如何用键盘输入一个数,字符,字符串
java根据地址从百度API获取经纬度
一步一步android(15):关于socket编程【以聊天为例】_目睹一个Geek的生活...
浅出Java Socket 编程
更多类似文章 >>
生活服务
热点新闻
留言交流
回顶部
联系我们
分享
收藏
点击这里,查看已保存的文章
导长图
关注
一键复制
下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!
联系客服
微信登录中...
请勿关闭此页面
先别划走!
送你5元优惠券,购买VIP限时立减!
5
元
优惠券
优惠券还有
10:00
过期
马上使用
×