开发流程:1.目的及需求分析 2.程序设计 3.清理与生成;
开发工具:基于两大主流开发工具,Netbeans IDE 和 Eclipse;
操作:右击src >New > package ;出现以下对话框(Name中填入main)
操作:右击main包 >New > Class ;出现以下对话框
在Name中填入Main,并勾选publicstatic void main(String[] args)
package main;
import javax.swing.JOptionPane;
import javax.swing.UIManager;
public class
public static void main(String[] args) {
try {UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
}
new
}
private void show() {
JOptionPane.showMessageDialog(null, "您的物理地址为:" + GetPhysicalAddress.getPhysicalAddress()+ "\n您的IP为:" + GetPhysicalAddress.getIPAddress().replaceAll(",", ""), "提示", JOptionPane.INFORMATION_MESSAGE);
}
}
package main;
import java.util.ArrayList;
/*
然后设计一个GetPhysicalAddress类,这个类用来调用Util_syscmd类的execute方法,执行cmd.exe/c ipconfig/all命令,并解析出网卡物理ip地址。getPhysicalAddress方法返回网卡的物理地址,如果机器中没有安装网卡或操作系统不支持ipconfig命令,返回not find字符串
*/
public class GetPhysicalAddress {
// 网卡物理地址长度
static private final int _physicalLength = 16;
private static ArrayList<String> result;// 执行dos的结果集
/**
* 查找物理地址方法
*
* @return
*/
public static String getPhysicalAddress() {
String find_chinese = "物理地址. . . . . . . . . . . . . :";
String find_english = "Physical Address. . . . . . . . . :";
if ("notfind".equals(parseCmd(getIpconfigResult(),find_chinese))) {
return parseCmd(getIpconfigResult(),find_english);
}
return parseCmd(getIpconfigResult(),find_chinese);
}
/**
* 查找IP方法
*
* @return
*/
public static String getIPAddress() {
String find_w7ipAddr = "IPv4 地址 . . . . .. . . . . . . :";
String find_xpipAddr = "IP Address. . . . . . . . . . . . :";
if ("notfind".equals(parseCmd(getIpconfigResult(),find_w7ipAddr))) {
return parseCmd(getIpconfigResult(),find_xpipAddr);
}
return parseCmd(getIpconfigResult(),find_w7ipAddr);
}
/**
* 返回执行dos命令的结果
*
* @return
*/
public static String getIpconfigResult() {
Util_syscmd shell = new Util_syscmd();
String cmd = "cmd.exe /cipconfig /all";
result = shell.execute(cmd);// 执行cmd命令,将结果保存到result
return result.toString();// 将ArrayList<String>类的结果集转化成String类型,并返回
}
// 从字符串中解析出所需要获得的字符串
static private String parseCmd(String s, String key) {
// s为String类型的结果集,key从结果集查找的条件字段
int findIndex = s.indexOf(key);
if (findIndex == -1) {
return "notfind";
} else {
return s.substring(findIndex + key.length() + 1,
findIndex + key.length() + 2 + _physicalLength);
}
}
}
1.2.6 在主包main新建Util_syscmd.java 填入代码如下:
package main;
import java.io.*;
import java.util.*;
public class Util_syscmd {
public ArrayList<String> execute(String shellCommand) {
try {
Start(shellCommand);
ArrayList<String> vResult = new ArrayList<String>();
DataInputStream in = new DataInputStream(p.getInputStream());
BufferedReader reader = new BufferedReader(
new InputStreamReader(in));
Stringline;
do {
line =reader.readLine();
if (line == null) {
break;
} else {
vResult.add(line);
}
} while (true);
reader.close();
return vResult;
} catch (Exception e) {
return null;
}
}
/**
* @param shellCommand
* 调用Dos实现方法
*/
public void Start(StringshellCommand) {
try {
if (p != null) {
kill();
}
Runtime sys = Runtime.getRuntime();// 初始化
p = sys.exec(shellCommand);
} catch (Exception e) {
System.out.println(e.toString());
}
}
/**
* kill this process
*/
public void kill() {
if (p != null) {
p.destroy();
p = null;
}
}
Process p;
}
好了,程序设计部分完成了,package Explorer 如下:
1.2.7 运行主类程序(Ctrl+F11)Main.java,出现如下结果:
运行及调试完项目后,我们希望不用打开Eclipse 就可以直接运行得到
操作:选中项目checkIP$PhyAddr ,选择Eclipse菜单File >Explore >Java >Runable JAR File>Next 按钮
Lanuchconfiguration: 选 Main - checkIP$PhyAddr;
Explortdestination(导出目标): 任意(我这里选桌面,文件名字为: IP物理地址查看器);
如下图:
这时是不是在桌面上看到“IP物理地址查看器.jar ”呢?
关闭Eclipse,鼠标双击运行它,看看结果吧!
一键查看本地物理地址及IP,免去先打开cmd, 再敲 ipconfig /all
操作:文件 > 新建项目 > Java >Java 应用程序 ,出现如下窗口,在项目名称处写入项目名字:checkIP$PhyAddr > 点击“完成”按钮
Netbeans会自动生成主包checkip$phyaddr和主类Main.java 相比于Eclipse,Netbeans为程序设计者省去了两步(以上的
package checkip$phyaddr;
import javax.swing.JOptionPane;
import javax.swing.UIManager;
public class
public static void main(String[] args) {
try{UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
}
new
}
private void show() {
JOptionPane.showMessageDialog(null, "您的物理地址为:" + GetPhysicalAddress.getPhysicalAddress() + "\n您的IP为:" + GetPhysicalAddress.getIPAddress().replaceAll(",",""), "提示", JOptionPane.INFORMATION_MESSAGE);
}
}
2.2.3 新建GetPhysicalAddress.java
在主包checkip$phyaddr新建GetPhysicalAddress.java 填入代码如下(同上Eclipse
2.2.4 新建Util_syscmd.java
在主包checkip$phyaddr新建Util_syscmd.java填入代码如下(同上Eclipse 1.2.6)但是首行改为:package checkip$phyaddr;
2.2.5 运行主类程序(直接按键盘F6),出现如下结果:
选定主项目,右键鼠标>清理并生成
在输出框里面会输出如下信息:
复制Created dir:路径:
D:\MyDocuments\Documents\NetBeansProjects\checkIP$PhyAddr\dist
打开“我的电脑”或“计算机”,在文件路径下粘贴复制的路径,你会看到checkIP_PhyAddr.jar
双击运行,得到同样的结果如下:
或者复制checkIP_PhyAddr.jar到桌面,运行结果一样。
联系客服