public class XXUpdate
{
/**
* 命令行入口
* 输入参数:新版本XX路径、旧版本XX路径、更新文件路径
*
* @param args
*/
public static void main(String args[])
{
String newXXPath = args[0];
String oldXXPath = args[1];
String updatePath = args[2];
File newXX = new File(newXXPath);
if (!newXX.exists())
{
System.out.println("输入的文件路径有误!");
return;
}
if (!copyNewFiles(newXX, newXXPath, oldXXPath, updatePath))
{
System.out.println("拷贝失败!");
}
}
/**
* 拷贝所有更新的文件
*
* @param newXX
* @param newXXPath
* @param oldXXPath
* @param updatePath
* @return
*/
private static boolean copyNewFiles(File newXX, String newXXPath,
String oldXXPath, String updatePath)
{
boolean isSucceed = true;
if (newXX.isDirectory())
{
File[] subFiles = newXX.listFiles();
int len = subFiles.length;
File newXXFile;
File oldXXFile;
for (int i = 0; (i < len) && isSucceed; i++)
{
newXXFile = subFiles[i];
String relativePathStr = FileUtils.getRelativePath(newXXPath,
newXXFile.getAbsolutePath());
oldXXFile = new File(oldXXPath + "/" + relativePathStr);
if (newXXFile.isDirectory())
{
isSucceed = copyNewFiles(newXXFile,
newXXPath,
oldXXPath,
updatePath);
}
else
{
if (!oldXXFile.exists()
|| !MD5Utils.getMD5(newXXFile)
.equals(MD5Utils.getMD5(oldXXFile)))
{
isSucceed = FileUtils.copyFile(newXXFile.getAbsolutePath(),
updatePath + "/" + relativePathStr);
}
}
}
}
return isSucceed;
}
}
分享到:
相关推荐
EasyUEFI Windows To Go Upgrader Enterprise(微软Windows To Go升级工具)官方中文版V4.6
2、具备比较完备的进度控制 3、与autoupgrader组件相比,相对更简单些,但autoupgrader必须要求具备GUI,而这个组件则不需要。 4、具自动回滚功能。如停止下载或下载失败都会执行回滚操作。 5、可将文件方便地下载到...
目前未维护,我在所有项目中都使用诗歌 ... 为了避免在项目中安装所有这些依赖项,可以在系统中而不是virtualenv中安装pip-upgrader upgrader。 如果您将其安装在系统中,并且需要升级,请运行pip install -U pip-upgra
2. **版本比较**:如果检测到有新版本,组件会比较当前版本号和最新版本号,确定是否需要升级。 3. **下载更新**:如果需要升级,组件将下载新版本的安装包或增量补丁到用户的计算机上。 4. **安装更新**:下载完成...
Flutter下载更新App的方法示例 Flutter是一款跨平台的移动应用程序开发框架,通过使用Flutter可以快速构建高质量的移动应用程序。然而,在移动应用程序的开发过程中,更新应用程序是一个非常重要的步骤。...
2. **文档**:关于如何配置、部署和使用"Upgrader"的说明文档。 3. **示例**:演示如何集成和使用"Upgrader"的示例项目。 4. **测试**:单元测试和集成测试用例,以验证代码功能的正确性。 5. **配置文件**:服务器...
要安装PHAR可执行文件,请执行以下操作: 或wget https://silverstripe.github.io/silverstripe-upgrader/upgrade-code.phar 使文件可执行chmod +x upgrade-code.phar 将文件移动到路径中的文件夹,例如sudo mv ...
gem 'rails_upgrader' end 然后执行: $ bundle 或自己安装为: $ gem install rails_upgrader 用法 rails_upgrader COMMAND 命令: go :尝试升级模型和控制器到位。 dry-run :在终端中编写强大的参数迁移...
['database_upgrader']['cache_path'] 细绳 在哪里缓存数据库升级程序文件 厨师文件缓存目录中的 database_upgrader ['database_upgrader']['cache_archive'] 细绳 包含 DatabaseUpgrader.exe 的存档文件应复制到...
GWTP-Typed-Slot-Upgrader 是一个专为GWT(Google Web Toolkit)开发者设计的工具,主要用于升级GWT项目的TypedSlot系统。 TypedSlot是GWTP框架中的一个重要概念,它提供了一种类型安全的方式来处理事件和槽口,使得...
TYPO3扩展core_upgrader 一次运行多个TYPO3版本(到10.4)的升级向导。特征此扩展允许一步将TYPO3核心从v7.6升级到v10.4。安装只需使用Composer安装扩展程序或从下载。 composer require ichhabrecht/core-upgrader ...
$ gem install wize_upgrader 从 Rails 应用程序外部运行它。 $ wize_upgrader 它能做什么 将旧应用程序的副本复制到 <rails>_old 使用rails new <rails> -T生成一个新的 rails 应用程序 复制过来 .git 应用...
PHPMyAdmin升级程序介绍这...用法# For 4.9.7 version./upgrader.sh blow_secret_token 4.9.7# For 5.1.0 version./upgrader.sh blow_secret_token 5.1.0当前要求PHP 7.2 , 7.3或7.4版本。 PHPMyAdmin 4.9.7版本。参考
无需重新安装即可升级到Fedora,Scientific Linux和CentOS的最新版本。 大部分的fedora-upgradeer都是使用Fedora Project的YUM升级Wiki(http://fedoraproject.org/wiki/YumUpgradeFaq)中的指南编写的。
语言:English (UK) 该扩展为新鲜服务支持页面提供了额外的功能。 该扩展为新鲜服务支持页面提供了额外的功能。 现在将在整个行中突出显示票证。 现在,票证页面将自动刷新! 在此处查看代码和更新...
《AutoUpgraderXE2:Delphi开发的自动升级程序详解》 在IT行业中,软件的更新和维护是一项持续的任务,为了确保用户始终能够使用到最新、最稳定的功能,开发者通常会提供一种自动升级机制。这里我们要探讨的是...
用法 安装 npm > npm i libp2p-websockets 构造器属性const WS = require ( 'libp2p-websockets' )const properties = { upgrader , filter}const ws = new WS ( properties ) 名称类型描述默认升级器Upgrader 具有...
##### 2. 升级方式 - **手动升级**:适用于特定情况下对单个项目进行升级。 - **高版本软件打开**:适用于批量升级多个项目。 #### 三、手动升级步骤 1. **启动TIA软件**:首先确保安装了最新的TIA软件版本。 2. *...
2、执行 flutter 命令获取包: flutter pub get` 3、引入 import 'package:joymo_app_upgrade/joymo_app_upgrade.dart'; 4、如果你需要支持 Android 平台,在./android/app/src/main/AndroidManifest.xml文件中配置...