javascript - copyFileSync 与 writeFileSync
问题描述
我正在处理文件操作并遇到了这个问题。
试图在网上寻找答案,但没有遇到任何好的、准确的答案。
以下哪一项是更优化的文件复制方式?
readFileSync() -> writeFileSync()?
或者直接
copyFileSync()?
还注意到 copyFileSync 使用原始文件的时间戳。如果copyFileSync()
更优化,有没有办法使用“复制时间时间戳”?
谢谢!
解决方案
那么首先您需要知道读取文件内容然后将其写入另一个文件与复制文件不同,文件不仅仅是其原始内容,几乎所有文件都有与之关联的元数据,并且当您读取一个文件内容并将其写入目的地,您会丢失该元数据。因此,如果您想复制文件,请使用 copyFile 方法,否则您将不得不自己处理元数据。
其次,这两种方法理论上应该具有相同的性能签名,实际上尽管它们在不同的条件下(不同的操作系统、不同的文件大小)可能存在差异,但是担心这更像是过早的优化。但是出于性能考虑,最好使用这些方法的异步版本。
copyFileSync 不允许您直接更改文件的创建日期,但您可以使用fs.stat
推荐阅读
- c# - 如何在 Xamarin.Forms 的 Listview 中保持计时器的状态
- python - 如果条件应该返回真,但返回假
- c# - 如果使用了 FieldOffset,必须在每个类/结构成员上使用它吗?
- django - 在我的 Django 应用程序中实现用户类型限制
- python - keras - 使用嵌入层检查目标时出错
- apache - apache中的vhost重写规则-摆脱子域而不重定向
- javascript - 为什么当值为 0.5 时 Math.round() 不四舍五入?
- mysql - Debian 10 MariaDB '无法通过套接字'/var/run/mysqld/mysqld.sock' (2) 连接到本地 MySQL 服务器'
- java - Java中String的compareTo方法
- python - ValueError:推断后无法确定某些类型(pyspark)