Javascript 此代码如何/为什么附加文件数据?
我编写了一些代码,用一个进度条和日志来复制节点中的文件。为简洁起见,删除了额外代码:Javascript 此代码如何/为什么附加文件数据?,javascript,node.js,Javascript,Node.js,我编写了一些代码,用一个进度条和日志来复制节点中的文件。为简洁起见,删除了额外代码: const writeBuffer = createWriteStream(destFile); const stats = statSync(sourceFile); let fileSize = stats.size; function copyFile() { let copiedBytes = 0; open(sourceFile, 'r', (err, fd) => { whi
const writeBuffer = createWriteStream(destFile);
const stats = statSync(sourceFile);
let fileSize = stats.size;
function copyFile() {
let copiedBytes = 0;
open(sourceFile, 'r', (err, fd) => {
while (copiedBytes < fileSize) {
const buffer = alloc(bytesPerRead);
const bytesRead = readSync(fd, buffer, 0, bytesPerRead, null);
copiedBytes += bytesRead;
writeBuffer.write(buffer);
}
});
}
writeBuffer.on('open', copyFile);
const writeBuffer=createWriteStream(destFile);
const stats=statSync(源文件);
让fileSize=stats.size;
函数copyFile(){
让copiedBytes=0;
打开(源文件'r',(err,fd)=>{
while(copiedBytes
这非常有效,并且有一个我没想到的内置“功能”:它可以恢复文件拷贝
我的意思是,如果我在复制的中途终止脚本,然后重新启动它,进度条会立即从0->50%,并继续以正常速度复制。我基本上是从readSync
中获得数百个结果,几乎是即时返回的。这样做之后,我已经区分了源文件和目标文件,事实上,它们是相同的
这是怎么回事??为什么重新运行时不重新启动拷贝