開發(fā)流程:1.目的及需求分析 2.程序設(shè)計 3.清理與生成;
開發(fā)工具:基于兩大主流開發(fā)工具,Netbeans IDE 和 Eclipse;
操作:右擊src >New > package ;出現(xiàn)以下對話框(Name中填入main)
操作:右擊main包 >New > Class ;出現(xiàn)以下對話框
在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;
/*
然后設(shè)計一個GetPhysicalAddress類,這個類用來調(diào)用Util_syscmd類的execute方法,執(zhí)行cmd.exe/c ipconfig/all命令,并解析出網(wǎng)卡物理ip地址。getPhysicalAddress方法返回網(wǎng)卡的物理地址,如果機(jī)器中沒有安裝網(wǎng)卡或操作系統(tǒng)不支持ipconfig命令,返回not find字符串
*/
public class GetPhysicalAddress {
// 網(wǎng)卡物理地址長度
static private final int _physicalLength = 16;
private static ArrayList<String> result;// 執(zhí)行dos的結(jié)果集
/**
* 查找物理地址方法
*
* @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);
}
/**
* 返回執(zhí)行dos命令的結(jié)果
*
* @return
*/
public static String getIpconfigResult() {
Util_syscmd shell = new Util_syscmd();
String cmd = "cmd.exe /cipconfig /all";
result = shell.execute(cmd);// 執(zhí)行cmd命令,將結(jié)果保存到result
return result.toString();// 將ArrayList<String>類的結(jié)果集轉(zhuǎn)化成String類型,并返回
}
// 從字符串中解析出所需要獲得的字符串
static private String parseCmd(String s, String key) {
// s為String類型的結(jié)果集,key從結(jié)果集查找的條件字段
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
* 調(diào)用Dos實現(xiàn)方法
*/
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;
}
好了,程序設(shè)計部分完成了,package Explorer 如下:
1.2.7 運行主類程序(Ctrl+F11)Main.java,出現(xiàn)如下結(jié)果:
運行及調(diào)試完項目后,我們希望不用打開Eclipse 就可以直接運行得到
操作:選中項目checkIP$PhyAddr ,選擇Eclipse菜單File >Explore >Java >Runable JAR File>Next 按鈕
Lanuchconfiguration: 選 Main - checkIP$PhyAddr;
Explortdestination(導(dǎo)出目標(biāo)): 任意(我這里選桌面,文件名字為: IP物理地址查看器);
如下圖:
這時是不是在桌面上看到“IP物理地址查看器.jar ”呢?
關(guān)閉Eclipse,鼠標(biāo)雙擊運行它,看看結(jié)果吧!
一鍵查看本地物理地址及IP,免去先打開cmd, 再敲 ipconfig /all
操作:文件 > 新建項目 > Java >Java 應(yīng)用程序 ,出現(xiàn)如下窗口,在項目名稱處寫入項目名字:checkIP$PhyAddr > 點擊“完成”按鈕
Netbeans會自動生成主包checkip$phyaddr和主類Main.java 相比于Eclipse,Netbeans為程序設(shè)計者省去了兩步(以上的
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),出現(xiàn)如下結(jié)果:
選定主項目,右鍵鼠標(biāo)>清理并生成
在輸出框里面會輸出如下信息:
復(fù)制Created dir:路徑:
D:\MyDocuments\Documents\NetBeansProjects\checkIP$PhyAddr\dist
打開“我的電腦”或“計算機(jī)”,在文件路徑下粘貼復(fù)制的路徑,你會看到checkIP_PhyAddr.jar
雙擊運行,得到同樣的結(jié)果如下:
或者復(fù)制checkIP_PhyAddr.jar到桌面,運行結(jié)果一樣。
聯(lián)系客服