/**
* 从File Server上更新资料到本地
*
* @param args 配置参数
* @return boolean 是否更新成功
*
*/
private boolean executeUpdate(IArgs args)
{
String fileServer = args.getArg("fileServer").getValue();
String destDir = args.getArg("destDir").getValue().toString().replace("/", "\\");
String runable = ".\\tools\\FastCopy\\FastCopy.exe";
FileUtils.copyFileByFastCopy(runable, fileServer, destDir);
return true;
}
/**
* 通过第三方软件FastCopy来拷贝文件
*
* @param runable FastCopy执行程序的路径
* @param source 拷贝源文件的路径
* @param dest 拷贝目标文件的路径
* @param exclude 排除的文件数据
*/
public static void copyFileByFastCopy(String runable, String source, String dest, String exclude)
{
try
{
String args = unionArgs(source, dest, exclude);
AntUtils.execute(runable, args);
}
catch (Exception e)
{
throw new IdpBaseError("exec FastCopy error.", e);
}
}
/**
* 通过Ant执行命令行程序
*
* @param runable 运行的执行文件
* @param arg 运行参数
*/
public static void execute(String runable,String arg)
{
try
{
ExecTask exec = new ExecTask();
Project p = new Project();
exec.setProject(p);
exec.setExecutable(runable);
exec.createArg().setLine(arg);
exec.setFailonerror(false);
exec.execute();
}
catch(Exception ex)
{
throw new IdpBaseError("exec [" + runable + "] error.",ex);
}
}