需求:将一个hd.config文件在old文件夹下,我想做个一键恢复配置的接口,实现将new文件下的hd.config文件直接替换,并且不要动old的下的配置文件
代码:
public SlsxResult ReplaceFile(){
// 指定原始文件路径
String oldFolderPath = "/Users/nu/Desktop/old";
log.info("老的文件路径:{}",oldFolderPath);
// 指定新文件路径
String newFolderPath = "/Users/nu/Desktop/new";
log.info("新的的文件路径:{}",newFolderPath);
// 指定配置文件名
String configFileName = "hd.config";
try {
// 获取新文件夹下的 hd.config 文件
Path newConfigFile = Paths.get(newFolderPath, configFileName);
// 获取对应的原始文件
Path oldConfigFile = Paths.get(oldFolderPath, configFileName);
// 替换配置文件
replaceConfigFile(oldConfigFile, newConfigFile);
log.info("配置文件已成功恢复");
return SlsxResult.success("配置文件已成功恢复");
} catch (IOException e) {
e.printStackTrace();
}
return SlsxResult.success("文件替换失败");
}
/**
* 替换方法
* @param oldConfigFile
* @param newConfigFile
* @throws IOException
*/
private void replaceConfigFile(Path oldConfigFile, Path newConfigFile) throws IOException {
// 替换文件
Files.copy(oldConfigFile, newConfigFile, StandardCopyOption.REPLACE_EXISTING);
}