摘要:本文讲解的是java程序设计开发的流程。通过EclipseIDE与Netbeans IDE编程,结合实例讲解,分享自己的java开发经验。开发流程:1.目的及需求分析2.程序设计3.清理与生成;
开发工具:基于两大主流开发工具,Netbeans IDE和Eclipse;
实例:查看本机物理地址及IP
1.基于Eclipse IDE开发
1.1目的及需求分析
一键查看本地物理地址及IP,免去先打开cmd,再敲ipconfig /all
1.2程序设计
1.2.1新建项目(Java Project):checkIP$PhyAddr
1.2.2在源包src下新建主包main
操作:右击src >New > package ;出现以下对话框(Name中填入main)
1.2.3在源包主包main下创建主类Main,java
操作:右击main包>New > Class ;出现以下对话框
在Name中填入Main,并勾选publicstatic void main(String[] args)
1.2.4主类Main.java代码如下:
packagemain;
importjavax.swing.JOptionPane;
importjavax.swing.UIManager;
publicclassMain {
publicstaticvoidmain(String[] args) {
try{UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}catch(Exception e) {
}
newMain().show();
}
privatevoidshow() {
JOptionPane.showMessageDialog(null,"您的物理地址为:"+ GetPhysicalAddress.getPhysicalAddress()+"\n您的IP为:"+ GetPhysicalAddress.getIPAddress().replaceAll(",",""),"提示", JOptionPane.INFORMATION_MESSAGE);
}
}
1.2.5在主包main新建GetPhysicalAddress.java填入代码如下:
packagemain;
importjava.util.ArrayList;
/*
然后设计一个GetPhysicalAddress类,这个类用来调用Util_syscmd类的execute方法,执行cmd.exe/c ipconfig/all命令,并解析出网卡物理ip地址。getPhysicalAddress方法返回网卡的物理地址,如果机器中没有安装网卡或操作系统不支持ipconfig命令,返回not find字符串
*/
publicclassGetPhysicalAddress {
//网卡物理地址长度
staticprivatefinalint_physicalLength= 16;
privatestaticArrayListresult;//执行dos的结果集
/**
*查找物理地址方法
*
*@return
*/
publicstaticString getPhysicalAddress() {
String find_chinese ="物理地址. . . . . . . . . . . . . :";
String find_english ="Physical Address. . . . . . . . . :";
if("notfind".equals(parseCmd(getIpconfigResult(),find_chinese))) {
returnparseCmd(getIpconfigResult(),find_english);
}
returnparseCmd(getIpconfigResult(),find_chinese);
}
/**
*查找IP方法
*
*@return
*/
publicstaticString getIPAddress() {
String find_w7ipAddr ="IPv4地址. . . . .. . . . . . . :";
String find_xpipAddr ="IP Address. . . . . . . . . . . . :";
if("notfind".equals(parseCmd(getIpconfigResult(),find_w7ipAddr))) {
returnparseCmd(getIpconfigResult(),find_xpipAddr);
}
returnparseCmd(getIpconfigResult(),find_w7ipAddr);
}
/**
*返回执行dos命令的结果
*
*@return
*/
publicstaticString getIpconfigResult() {
Util_syscmd shell =newUtil_syscmd();
String cmd ="cmd.exe /cipconfig /all";
result= shell.execute(cmd);//执行cmd命令,将结果保存到result
returnresult.toString();//将ArrayList类的结果集转化成String类型,并返回
}
//从字符串中解析出所需要获得的字符串
staticprivateString parseCmd(String s, String key) {
// s为String类型的结果集,key从结果集查找的条件字段
intfindIndex = s.indexOf(key);
if(findIndex == -1) {
return"notfind";
}else{
returns.substring(findIndex + key.length() + 1,
findIndex + key.length() + 2 +_physicalLength);
}
}
}
1.2.6在主包main新建Util_syscmd.java填入代码如下:
packagemain;
importjava.io.*;
importjava.util.*;
publicclassUtil_syscmd {
publicArrayList execute(String shellCommand) {
try{
Start(shellCommand);
ArrayList vResult =newArrayList();
DataInputStream in =newDataInputStream(p.getInputStream());
BufferedReader reader =newBufferedReader(
newInputStreamReader(in));
Stringline;
do{
line =reader.readLine();
if(line ==null) {
break;
}else{
vResult.add(line);
}
}while(true);
reader.close();
returnvResult;
}catch(Exception e) {
returnnull;
}
}
/**
*@paramshellCommand
*调用Dos实现方法
*/
publicvoidStart(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
*/
publicvoidkill() {
if(p!=null) {
p.destroy();
p=null;
}
}
Processp;
}
好了,程序设计部分完成了,package Explorer如下:
1.2.7运行主类程序(Ctrl+F11)Main.java,出现如下结果:
1.3生成可执行文件
运行及调试完项目后,我们希望不用打开Eclipse就可以直接运行得到1.2.6结果,就像桌面软件那样双击鼠标就可以了。
操作:选中项目checkIP$PhyAddr,选择Eclipse菜单File >Explore >Java >Runable JAR File>Next按钮
Lanuchconfiguration:选Main - checkIP$PhyAddr;
Explortdestination(导出目标):任意(我这里选桌面,文件名字为: IP物理地址查看器);
如下图:
这时是不是在桌面上看到“IP物理地址查看器.jar”呢?
关闭Eclipse,鼠标双击运行它,看看结果吧!
2.基于Netbeans IDE 开发
2.1目的及需求分析
一键查看本地物理地址及IP,免去先打开cmd,再敲ipconfig /all
2.2程序设计
2.2.1新建项目(Java Project):checkIP$PhyAddr
操作:文件>新建项目> Java >Java应用程序 ,出现如下窗口,在项目名称处写入项目名字:checkIP$PhyAddr>点击“完成”按钮
Netbeans会自动生成主包checkip$phyaddr和主类Main.java相比于Eclipse,Netbeans为程序设计者省去了两步(以上的1.2.2和1.2.3)
2.2.2主类Main.java代码如下(与上面的Eclipse1.2.4不同之处是首行package名字):
package checkip$phyaddr;
import javax.swing.JOptionPane;
import javax.swing.UIManager;
public class Main{
public static void main(String[] args) {
try{UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
}
new Main().show();
}
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 1.2.5)但是首行改为:package checkip$phyaddr;
2.2.4新建Util_syscmd.java
在主包checkip$phyaddr新建Util_syscmd.java填入代码如下(同上)但是首行改为:package checkip$phyaddr;
2.2.5运行主类程序(直接按键盘F6),出现如下结果:
2.3生成可执行文件
选定主项目,右键鼠标>清理并生成
在输出框里面会输出如下信息:
复制Created dir:路径:
D:\MyDocuments\Documents\NetBeansProjects\checkIP$PhyAddr\dist
打开“我的电脑”或“计算机”,在文件路径下粘贴复制的路径,你会看到checkIP_PhyAddr.jar
双击运行,得到同样的结果如下:
或者复制checkIP_PhyAddr.jar到桌面,运行结果一样。