我在一个目录中有大约 100,000 个文件。我必须将所有这些文件移动到另一个目录。有两种方法可以做到这一点。
rename(oldfile, newfile)
link(oldfile, newfile)
unlink(oldfile)
哪种方法更好?还有其他更好的解决方案吗?
简短的回答:
第一个解决方案。
使用rename
调用你只执行一个系统调用,它可以被系统和/或实现进一步优化。您还清楚地说明了您打算做什么,这比简单地在程序的单个点上搜索最终性能更重要。
link
/解决方案也有效,但目前unlink
还不清楚您打算做什么。另外,您如何管理link
多个文件系统?在某些文件系统或操作系统上,该链接甚至是不可能的。
使用rename()
.
并非所有文件系统都支持有多个文件链接,而且您根本不能有多个链接到一个目录。rename()
,另一方面,总是有效的。