From e46c41812dca8ea525f98b4672b03483ec9b3b8b Mon Sep 17 00:00:00 2001 From: qcqcqc <1220204124@zust.edu.cn> Date: Tue, 4 Nov 2025 10:10:20 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=A4=8D=E5=88=B6=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E6=97=B6=E6=9C=AA=E5=90=8C=E6=AD=A5=E7=AD=89?= =?UTF-8?q?=E5=BE=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/file-handle.js | 5 ++--- src/file-handle.ts | 7 +++---- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/lib/file-handle.js b/lib/file-handle.js index 3e5b805..c7d88bd 100644 --- a/lib/file-handle.js +++ b/lib/file-handle.js @@ -149,9 +149,8 @@ function copyFolder(currentDir, targetDir, overwrite = false) { } else { if (file.isFile()) { - const readStream = (0, fs_1.createReadStream)(copyCurrentFileInfo); - const writeStream = (0, fs_1.createWriteStream)(copyTargetFileInfo); - readStream.pipe(writeStream); + // 使用同步复制确保文件完全写入 + (0, fs_1.copyFileSync)(copyCurrentFileInfo, copyTargetFileInfo); // console.log(`复制文件: ${copyCurrentFileInfo} -> ${copyTargetFileInfo}`); } else { diff --git a/src/file-handle.ts b/src/file-handle.ts index d5d2492..0f985aa 100644 --- a/src/file-handle.ts +++ b/src/file-handle.ts @@ -1,4 +1,4 @@ -import { readdirSync, statSync, writeFileSync, PathLike, existsSync, unlinkSync, mkdirSync, rmdirSync, createReadStream, accessSync, createWriteStream, constants, readFileSync } from 'fs' +import { readdirSync, statSync, writeFileSync, PathLike, existsSync, unlinkSync, mkdirSync, rmdirSync, createReadStream, accessSync, createWriteStream, constants, readFileSync, copyFileSync } from 'fs' import { join } from 'path' import { checkFileExistsAndCreateType } from './enum' import { Error, error, Warn, warn } from './tip-style' @@ -141,9 +141,8 @@ export function copyFolder(currentDir: PathLike, targetDir: PathLike, overwrite: } else { if (file.isFile()) { - const readStream = createReadStream(copyCurrentFileInfo); - const writeStream = createWriteStream(copyTargetFileInfo); - readStream.pipe(writeStream); + // 使用同步复制确保文件完全写入 + copyFileSync(copyCurrentFileInfo, copyTargetFileInfo); // console.log(`复制文件: ${copyCurrentFileInfo} -> ${copyTargetFileInfo}`); } else { try {