当具有文件夹名称的文件已经存在时,如何创建一个空文件夹?

迈克·斯普斯曼(Mike Sportsman)

我敢肯定,在这里我可以忽略一些简单的事情,但是我从来没有遇到过这个问题,也无法找到问题的原因。

这是我的硬盘上的根目录的一个示例:

C:\Folder-1          ( this is a folder )
C:\Folder-2          ( this is a folder )
C:\somename          ( this is a file with no extension )
c:\somename.txt      ( this is a file with an extension )

我要用于创建新文件夹的代码是这种方法:

static void Main( string[] args )
{
    try
    {
        // try to create a folder in a directory 
        // where a file with the same name exsists
        createDirectory( "c:\somename" );
    }
    catch
    {
       // this catches an exception "Cannot create directory, because it already exsist
    }
}

private static void createDirectory(string filePath)
      {
         string directoryPath = Path.GetDirectoryName(filePath);

         // if the directory path does not exsists then create it
         if (!Directory.Exists(directoryPath))
         {
            Directory.CreateDirectory(directoryPath );
         }
      }

有人看到这里有什么问题吗?请帮忙,谢谢!

拉瑟·卡尔森(Lasse V.Karlsen)

你不能

您不能有两个名称相同的文件系统条目。

所以:

  1. 删除文件,然后将旧名称重用于新目录
  2. 重命名文件,然后将旧名称重用于新目录
  3. 用其他名称创建目录

请注意,NTFS的根源是POSIX,并且POSIX允许多个文件系统条目(因大小写而异),因为文件系统在对象名称方面区分大小写。NTFS继承了此特征,但是Win32会阻止您这样做。因此,使用Win32不可能Xx在同一目录中创建的文件一起创建被调用的文件,但是使用较低级别的系统调用是可能的。

有关此主题的更多信息,请参见https://superuser.com/questions/364057/why-is-ntfs-case-sensitive

但是,不允许,也从未允许多个文件系统条目具有相同的名称。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如果使用批处理文件已经存在一个具有相同名称的文件夹,则创建编号文件夹

在每个子文件夹中创建一个带有特定名称的空文件的文件夹

如何创建一个具有不同名称的文件夹符号链接?

Heroku克隆创建一个空文件夹

使用makedirs创建文件夹时,如果文件夹已经存在,如何覆盖?

当已经存在同名文件夹时,如何使用boost创建新文件夹?

在NLog目标中使用$ {basedir}创建一个具有该名称的文件夹

如何在Python中将具有随机名称的文件从一个文件夹移动到另一个文件夹?

如何将具有特定名称的文件从一个文件夹移动到另一个文件夹

如何使用powershell将具有不同名称的文件从一个文件夹复制到另一个文件夹?

如何使用Java API在Google Cloud Bucket中创建一个空文件夹

在子文件夹中找到具有特定名称的空文件夹?

如何确定另一个文件夹中存在的文件或文件夹?

在另一个文件夹中创建相同的子文件夹,并复制具有特定名称的文件

如何比较文件夹是否存在以及是否存在,请创建一个文件夹

合并到另一个文件夹时保持子子文件夹结构 [重复的文件夹名称将存在]

如何在现有存储库中添加一个空文件夹?Github

创建一个具有确切名称的文件作为现有子文件夹?

rm -rf不会删除文件夹内容,而是创建另一个空文件夹

如何仅将 img 文件移动到具有原始文件夹名称 + ImageOnly 的另一个文件夹?

如何创建一个以用户名和日期作为文件夹名称的文件夹?

使用rmdir删除一个文件夹中的许多空文件夹

没有文件夹名称空间时在MailKit中打开一个邮件文件夹

当 Firebase 存储中有一个名为相同的现有文件夹时,如何在 Firebase 中创建一个新文件夹

如果创建归档文件时tar不存在,如何使它创建一个文件夹

如何在SUSE中保留一个已经存在的主文件夹

我的一个文件夹中的两个文件如何具有相同的名称?

如何为每个创建的项目创建一个带有子文件夹的文件夹?

Gitlab应该使用现有文件夹时创建了一个新文件夹