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 {