如何在 C# 中创建不影响用户名和驱动器分区的文件夹

How To Create A Folder In C# Without Usernames and Drive Partition Affecting It

虽然创建文件夹/文件真的很容易,但就在昨晚,我决定在另一台计算机上测试我的应用程序。

在该应用程序中,我确实创建了一个特定目录。正如我在不同的计算机上预期的那样,它并没有很好地工作。

windows 中的文件路径如下所示 C:\Users\YOUR-USERNAME\Documents\Dreams

在代码中您如何处理在新计算机上用户名和驱动器分区可能不同的事实(驱动器分区是最开始的字母,例如 C: 在这种情况下).

我真的很困惑程序员如何绕过驱动器分区和用户名。

谢谢,非常感谢任何帮助。

这应该提供用户 'MyDocuments' 文件夹的路径

Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)

Environment.SpecialFolder 枚举包含可能对您有用的其他文件夹列表。

好的 Windows 软件不会对此类事情做出假设。它在运行时通过询问 Windows(特殊文件夹、枚举目录和文件、查看注册表)、询问用户(但仍使用 Windows 进行检查,如封装在file/folder 浏览器对话)或使用隔离存储。

您还必须检查文件夹是否存在。它适用于 .Net Framework 4.0 及更高版本。

     string path = Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments); 

       bool flag = System.IO.Directory.Exists(path);

        if (!flag)
        {
            System.IO.Directory.CreateDirectory(path);
        }