Sometimes, asynchronous operations can be a burden. Especially when you're writing small console utilities like to batch process files.
There are many asynchronous ways to copy a file. Here is a synchronous version (CoffeeScript):
copyFileSync = (srcFile, destFile) -> BUF_LENGTH = 64*1024 buff = new Buffer(BUF_LENGTH) fdr = fs.openSync(srcFile, 'r') fdw = fs.openSync(destFile, 'w') bytesRead = 1 pos = 0 while bytesRead > 0 bytesRead = fs.readSync(fdr, buff, 0, BUF_LENGTH, pos) fs.writeSync(fdw,buff,0,bytesRead) pos += bytesRead fs.closeSync(fdr) fs.closeSync(fdw)
If you made it this far, you should follow me on Twitter.
-JPcomments powered by Disqus