为什么在同一个目录下不能有两个同名的文件?

Why you can't have two Files with the same name in the same directory?

我一直想知道为什么不能在同一个目录下有两个同名的同数据类型的文件。我主要是在谈论 Windows,但我认为这适用于其他 OS。 OS 中发生了什么,当您尝试这样做但它禁止您这样做时?提前致谢。

因为每个文件都必须是唯一的,当它们位于同一目录中时。这样一找就知道自己需要哪个文件了。

另外,你问题下的所有评论都是完全正确的。

编辑

有多种隐藏文件的方法。希望这篇link可以帮到你。

how to hide files and folders on every operating system

注意:

我提供这个 link 因为你在这个答案的评论中提供给我的例子

在Windows中,默认设置是忽略扩展名,所以你可以在同一个文件夹中有一个包目录和一个package.txt文件。在 Windows Explorer 中,您似乎必须访问名为 "package" 的条目,而实际上,它只是隐藏了一个文件名的一部分。

要确保执行某项操作,执行该操作的说明必须明确。 A filename (or file name) is used to identify a storage location in the file system.

OS 想要唯一的文件名,因为当你告诉 OS 做某事时,你有两个名称完全相同的文件,OS 无法知道哪个文件执行操作。例如,当追加到文本文件时,OS 可能会追加到两个同名的错误之一,从而使整个系统不可靠。那么我们该怎么办?我们可以为每个文件添加一些其他独特的信息。但这基本上会归结为相同的想法......为什么不只保留唯一的名称?

既然我们知道保持唯一的名称是至关重要的,我们所需要的只是一个函数来检查文件是否存在以回答您问题的第 2 部分。由于 OS 大部分是在 C 中,What's the best way to check if a file exists in C? 关于 SO 的问题应该为您解答。

实际上,可以在Windose 上创建多个同名文件。这搞砸了,但你可以编写代码来完成它。

很多操作系统都支持同一目录下多个同名文件,并且这样做比较合理。事实上,在 Eunuchs 和 PeeCees 向后发送操作系统工作之前,这是常态。