java程序实例讲解_Java基础:程序开发流程及实例讲解[图例]

本文详细介绍了如何在Eclipse和Netbeans IDE中开发Java程序来一键查看本地物理地址和IP。通过创建Java项目,编写GetPhysicalAddress和Util_syscmd类,实现了调用系统命令获取信息的功能。最后,生成可执行JAR文件,实现离线运行。
摘要由CSDN通过智能技术生成

摘要:本文讲解的是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

7823647_201110131600580253.jpg

1.2.2在源包src下新建主包main

操作:右击src >New > package ;出现以下对话框(Name中填入main)

1.2.3在源包主包main下创建主类Main,java

操作:右击main包>New > Class ;出现以下对话框

7823647_201110131604050258.jpg

在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如下:

7823647_201110131606260906.jpg

1.2.7运行主类程序(Ctrl+F11)Main.java,出现如下结果:

7823647_201110131619080690.jpg

1.3生成可执行文件

运行及调试完项目后,我们希望不用打开Eclipse就可以直接运行得到1.2.6结果,就像桌面软件那样双击鼠标就可以了。

操作:选中项目checkIP$PhyAddr,选择Eclipse菜单File >Explore >Java >Runable JAR File>Next按钮

7823647_201110131619080768.jpg

7823647_201110131619080909.jpg

Lanuchconfiguration:选Main - checkIP$PhyAddr;

Explortdestination(导出目标):任意(我这里选桌面,文件名字为: IP物理地址查看器);

如下图:

7823647_201110131619090237.jpg

这时是不是在桌面上看到“IP物理地址查看器.jar”呢?

7823647_201110131619080565.jpg

关闭Eclipse,鼠标双击运行它,看看结果吧!

2.基于Netbeans IDE 开发

2.1目的及需求分析

一键查看本地物理地址及IP,免去先打开cmd,再敲ipconfig /all

2.2程序设计

2.2.1新建项目(Java Project):checkIP$PhyAddr

操作:文件>新建项目> Java >Java应用程序 ,出现如下窗口,在项目名称处写入项目名字:checkIP$PhyAddr>点击“完成”按钮

7823647_201110131615400046.jpg

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),出现如下结果:

7823647_201110131609020522.jpg

2.3生成可执行文件

选定主项目,右键鼠标>清理并生成

7823647_201110131614030520.jpg

在输出框里面会输出如下信息:

7823647_201110131612460149.jpg

复制Created dir:路径:

D:\MyDocuments\Documents\NetBeansProjects\checkIP$PhyAddr\dist

打开“我的电脑”或“计算机”,在文件路径下粘贴复制的路径,你会看到checkIP_PhyAddr.jar

7823647_201110131611310607.jpg

双击运行,得到同样的结果如下:

7823647_201110131609020522.jpg

或者复制checkIP_PhyAddr.jar到桌面,运行结果一样。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值