- 浏览: 173453 次
- 性别:
- 来自: 青岛
文章分类
最新评论
-
hugang357:
...
java String to byte[] -
lyzhu:
winstr
使用JAVASCRIPT实现弹出框,过一段时间自动消失 -
laoliu.org:
要是稍微整理一下成一个健全类就更好了,呵呵。
我把它转到IT民 ...
java月份时间(第一天,最后一天) -
kaituozhe6666:
...
使用JAVASCRIPT实现弹出框,过一段时间自动消失 -
damocreazy:
试一试
如何让EditPlus可以编译执行Java程序
引自:
http://www.nqqn.com/ym/68/2972.htm
因为最近有程序需要在java环境下获取网卡ID,研究了SUN网站的相关资料(感谢令公子的连接)。
测试整理了一下,分享给大家。
思路是通过调用windows环境下的ipconfig命令和Linux环境下的ifconfig命令来获取网卡信息:
分为四个程序文件:
test.java;NetworkInfo.java;WindowsNetworkInfo.java;LinuxNetworkInfo.java
//--------------test.java--------
package netcardinfo;
public class test {
public test() {
}
public NetworkInfo nti = new WindowsNetworkInfo();
public static void main(String[] args) {
test test1 = new test();
try {
System.out.println("Network infos");
System.out.println("Operating System:" + System.getProperty("os.name"));
System.out.println("IP/Localhost:" + test1.nti.getLocalHost());
System.out.println("MAC Address:" + test1.nti.getMacAddress());
System.out.println("Domain:" + test1.nti.getNetworkDomain());
}
catch(Throwable t) {
t.printStackTrace();
}
}
}
//---------end file---------
//-----------NetworkInfo.java----------
package netcardinfo;
import java.net.*;
import java.io.*;
import java.text.*;
import java.util.*;
import java.util.regex.*;
public abstract class NetworkInfo{
private static final String LOCALHOST = "localhost";
public static final String NSLOOKUP_CMD = "nslookup";
public abstract String parseMacAddress() throws ParseException;
/** Not too sure of the ramifications here, but it just doesn't seem right */
public String parseDomain() throws ParseException { return parseDomain(LOCALHOST); }
/** Universal entry for retrieving MAC Address */
public final static String getMacAddress() throws IOException {
try {
NetworkInfo info = getNetworkInfo();
String mac = info.parseMacAddress();
return mac;
}
catch(ParseException ex)
{ ex.printStackTrace();
throw new IOException(ex.getMessage());
}
}
/** Universal entry for retrieving domain info */
public final static String getNetworkDomain() throws IOException{
try {
NetworkInfo info = getNetworkInfo();
String domain = info.parseDomain();
return domain;
}
catch(ParseException ex)
{ex.printStackTrace();
throw new IOException(ex.getMessage());
}
}
protected String parseDomain(String hostname) throws ParseException{
// get the address of the host we are looking for - verification
java.net.InetAddress addy = null;
try {
addy = java.net.InetAddress.getByName(hostname);
}
catch ( UnknownHostException e ) {
e.printStackTrace();
throw new ParseException(e.getMessage(),0);
}
// back out to the hostname - just validating
hostname = addy.getCanonicalHostName();
String nslookupCommand = NSLOOKUP_CMD + " " + hostname;
// run the lookup command
String nslookupResponse = null;
try {
nslookupResponse = runConsoleCommand(nslookupCommand);
}
catch ( IOException e ){
e.printStackTrace();
throw new ParseException(e.getMessage(), 0);
}
StringTokenizer tokeit = new StringTokenizer(nslookupResponse,"\n",false);
while( tokeit.hasMoreTokens() )
{ String line = tokeit.nextToken();
if( line.startsWith("Name:")){line = line.substring(line.indexOf(":") + 1);
line = line.trim();
if( isDomain(line, hostname)){line = line.substring(hostname.length()+1);
return line;
}
}
}
return "n.a.";
}
private static boolean isDomain(String domainCandidate, String hostname)
{ Pattern domainPattern = Pattern.compile("[\\w-]+\\.[\\w-]+\\.[\\w-]+\\.[\\w-]+");
Matcher m = domainPattern.matcher(domainCandidate);
return m.matches() && domainCandidate.startsWith(hostname);
}
protected String runConsoleCommand(String command) throws IOException {
Process p = Runtime.getRuntime().exec(command);
InputStream stdoutStream = new BufferedInputStream(p.getInputStream());
StringBuffer buffer= new StringBuffer();
for (;;) {
int c = stdoutStream.read();
if (c == -1) break;
buffer.append((char)c);
}
String outputText = buffer.toString();
stdoutStream.close();
return outputText;
}
/** Sort of like a factory... */
private static NetworkInfo getNetworkInfo() throws IOException {
String os = System.getProperty("os.name");
if(os.startsWith("Windows")) {
return new WindowsNetworkInfo();
}
else if(os.startsWith("Linux")) {
return new LinuxNetworkInfo();
}
else {
throw new IOException("unknown operating system: " + os);
}
}
protected String getLocalHost() throws ParseExce
发表评论
-
java调用google map api 根据经纬度读取经纬度地址
2012-02-28 08:42 2877package B7.general; import ... -
java 读取http url joson 格式
2012-02-28 08:39 1175URL url = new URL("htt ... -
【转】用Lucene的SpellChecker实现Google的“您是不是要找”功能
2011-03-25 11:01 1478引言 很多人在使用搜索引擎的时候,会出于各种原因,拼错想要搜 ... -
Java 接口和抽象类区别
2011-03-02 08:58 602一个软件设计的好坏, ... -
php 环境搭建
2009-06-17 17:25 1141想学习php。在网上找了个搭建。好多杂的。google一下时间 ... -
abstract class vc interface
2008-12-10 16:24 1438abstract class 和 interface 都提供可 ... -
二分查找vc线性查找
2008-12-10 14:32 1056public static int binarySearch( ... -
java 取字符串中汉字之前的部门
2008-09-03 17:28 1063String dd="ddfdf你好" ... -
java 数组 操作
2008-08-21 17:30 1067public ArrayList zuhe(){ ... -
查询代码网站
2008-08-17 15:55 763<search terms> Search fo ... -
java String to byte[]
2008-07-16 09:01 4489package mobile; /* * T ... -
java pdf
2008-07-13 13:39 1160引用 :http://www.iteye.com/post/5 ... -
java月份时间(第一天,最后一天)
2008-06-13 20:57 7048<% //当前月的最后一天 ... -
java中文件操作大全
2008-05-08 18:07 1002引用: http://www.pben.cn/main.bb ... -
较好的Java网站收集
2008-04-25 14:19 982转自:http://blog.chinaunix. ... -
java 自定义排序
2008-04-21 10:21 2027利用java.util. Comparator接口 和java ... -
2008年Java开发者最迫切的五个期望
2008-03-29 11:28 1218发布日期:2008-1-11 9:11 ... -
Java精华积累:每个初学者都应该搞懂的问题!
2008-03-07 13:20 1063Java精华积累:每个初学 ... -
如何让EditPlus可以编译执行Java程序
2008-02-13 10:51 1796如何让EditPlus可以编译执行Java程序在 USER T ... -
阴阳转换的类! 算法支持1900-2050
2008-02-13 10:49 1368引自: http://www.nqqn.com/ym/68/2 ...
相关推荐
【SUN求职宝典】是由PassOffer(通程网)精心整理的一份针对SUN公司求职的指南,旨在帮助求职者顺利通过面试和笔试环节,获取满意的工作机会。PassOffer是一个专注于提供求职指导的平台,它集合了一系列的求职课程、...
Java拼图是一款基于J2ME(Java Micro Edition)平台开发的源码项目,它展示了如何在有限的资源和计算能力下实现一个互动游戏。J2ME是Java平台的一个子集,主要用于嵌入式设备和移动设备,如早期的智能手机和平板电脑...
回答思路:JMM规定了线程如何访问和修改共享变量,确保多线程环境下的数据一致性。它包括堆内存、栈内存、方法区、本地方法栈以及程序计数器等组件。 4. **问题4:解释Java中的封装、继承和多态?** 回答思路:...
接下来,我们将对这些信息进行整理与分析,以便更好地理解SUN国际认证考试及其指定考场的情况。 ### SUN国际认证考试概述 SUN国际认证考试是由Sun Microsystems(简称SUN)公司推出的系列认证之一。Sun ...
这本书的内容是帮你全面了解java虚拟机,本书第1版两年内印刷近10次,98%以上的评论全部为5星级的好评,是整个Java图书领域公认的经典著作和超级畅销书,繁体版在台湾也十分受欢迎。第2版在第1版的基础上做了很大的...
**安装Java JDK**:确保计算机安装了Java JDK,可以从Sun官方网站下载。 2. **安装Eclipse**:直接下载Eclipse并解压缩即可使用。 3. **安装Android SDK**:通过Android官方网站或提供的链接进行下载安装。 4. *...
对于Linux操作系统下SUNJDK1.7.0_51存在的BUG,需要进行特定的修改,即在文件$JAVA_HOME/jre/lib/security/java.security中修改securerandom.source参数。 4. 中间件安装部署: 安装YONYOUNC6.5时,需要安装UAP平台...
而越来越多专业知识的 Blog 的出现,让我们看到了 Blog 更多所蕴涵的巨大的信息价值:不同的 Blog 选择不同的内容,收集和整理成为很多人关注的专业 Blog ——目前越来越多的人获取信息的来源是一些固定的 Blog 。...
它提供了一个独立于硬件平台的运行时环境,使得Java应用程序能够在任何支持JVM的操作系统上运行。 #### 二、JVM架构与运行时数据区域 ##### 1. JVM架构概念图 JVM的架构可以分为以下几个部分: - **程序计数器...
Java Media Framework (JMF) 是一个开源的API,由Sun Microsystems开发,用于在Java应用程序中处理多媒体内容,如音频、视频和同步数据流。JMF为开发者提供了在Java环境中播放、捕获、处理和控制多媒体数据的能力。...
Swing 是 Java 平台上的一种图形用户界面(GUI)工具包,由 Sun Microsystems 开发。它提供了丰富的组件库,使得开发者可以构建出美观且功能强大的桌面应用程序。在“本地开发服务管理工具客户端”中,Swing 被用来...