分享

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

 昵称7823647 2011-10-13

摘要:本文讲解的是java程序设计开发的流程。通过Eclipse IDE 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,并勾选public static void main(String[] args)

 

   1.2.4 主类Main.java 代码如下:

package main;

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);

    }

}

   1.2.5在主包main新建GetPhysicalAddress.java 填入代码如下:

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 ("not find".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 ("not find".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 /c ipconfig /all";

       result = shell.execute(cmd);// 执行cmd命令,将结果保存到result

       return result.toString();// ArrayList<String>类的结果集转化成String类型,并返回

    }

    // 从字符串中解析出所需要获得的字符串

    static private String parseCmd(String s, String key) {

       // sString类型的结果集,key从结果集查找的条件字段

       int findIndex = s.indexOf(key);

       if (findIndex == -1) {

           return "not find";

       } 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));

           String line;

           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(String shellCommand) {

       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+F11Main.java,出现如下结果:

1.3生成可执行文件

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

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


Lanuch configuration: Main - checkIP$PhyAddr ;

Explort destination(导出目标): 任意(我这里选桌面,文件名字为: 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  相比于EclipseNetbeans为程序设计者省去了两步(以上的1.2.2 1.2.3

 

2.2.2主类Main.java 代码如下(与上面的Eclipse 1.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填入代码如下(同上Eclipse 1.2.6)但是首行改为:package checkip$phyaddr;

 

2.2.5    运行主类程序(直接按键盘F6),出现如下结果:


2.3生成可执行文件

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

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

复制Created dir:路径:

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

 

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

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

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

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多