程序安装,升级及卸载核心部分(java编写)

王朝java/jsp·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

安装程序的工作:将源文件复制到相应的目录。

升级程序的工作:将源文件中更新过的文件覆盖目的文件,增加的文件复制到相应的目录。

卸载程序的工作:将程序文件夹的内容删除。

针对以上内容,写一个简单的安装程序

(主要文件:InstallSheildImpl,用递归的方式进行了文件夹的遍历)

/***********************************************************************

* Module: InstallSheild.Java

* Author: Administrator

* Created: 2004-12-13 22:37:53

* Purpose: 安装程序接口,用于统一调用方式。

***********************************************************************/

package org.heixue.test.install;

/**

* @author Administrator

*/

public interface InstallSheild {

public final static int INSTALL=1;

public final static int UPDATE=2;

public final static int UNINSTALL=3;

public void install(int type,String srcFold,String destFold) throws InstallException ;

}

/***********************************************************************

* Module: InstallSheildImpl.java

* Author: Administrator

* Created: 2004-12-13 22:48:20

* Purpose: 安装程序的实现

***********************************************************************/

package org.heixue.test.install;

import java.io.*;

//import org.heixue.util.Log;

import org.heixue.util.FileLog;

import org.heixue.util.file.FileCopy;

/**

* @author Administrator

*/

public class InstallSheildImpl implements InstallSheild {

private String srcFold=null;

private String destFold=null;

private FileLog log=null;

/**

*

*/

public InstallSheildImpl() {

}

/*

* @see org.heixue.test.update.InstallSheild#install(java.lang.String, java.lang.String, int)

*/

public void install(int type, String srcFold, String destFold) throws InstallException {

this.srcFold=srcFold;

this.destFold=destFold;

if(Config.getOut()!=null)

log=new FileLog(Config.getOut());

else

log=new FileLog(System.out);

if(destFold==null) throw new InstallException("您没有设置目的文件夹位置!");

switch(type){

case InstallSheild.INSTALL: if(srcFold==null) throw new InstallException("您没有设置源文件夹位置!");doInstall();break;

case InstallSheild.UPDATE: if(srcFold==null) throw new InstallException("您没有设置源文件夹位置!");doUpdate();break;

case InstallSheild.UNINSTALL:doUninstall();break;

default:throw new InstallException("没有这项操作!");

}

}

/**

* :

* #perpose: 安装程序,主要进行文件的拷贝.

*/

public void doInstall() throws InstallException{

if(srcFold==null) throw new InstallException("您没有设置源文件夹位置!");

if(destFold==null) throw new InstallException("您没有设置目的文件夹位置!");

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航