为糟糕的标题措辞道歉,
我在我的C#程序中设置了一个StreamWriter,它创建并写入本地存储驱动器上的多个文本文件。问题是,当我测试这个……
您可以使用 System.IO.DriveInfo.GetDrives 获取机器上的驱动器列表:
System.IO.DriveInfo.GetDrives
DriveInfo[] allDrives = DriveInfo.GetDrives(); foreach (DriveInfo d in allDrives) { Console.WriteLine(d.Name); //C:\ etc. }
然后,您可以简单地编写给定卷标的文件名和所需的文件名:
var filePath = d.Name + "filename.txt";
或更好:
var filePath = Path.Combine(d.Name, "filename.txt");
为了应对不同机器上的不同驱动器,您有以下几种选择:
locationFile = "wLocation.txt"
locationFile = Path.Combine(sysFolderPath, "wLocation.txt");
请注意,除了获取适用于特定计算机的文件夹路径之外,还需要注意目录的权限。特别是如果您安装应用程序,第一个选项可能无法使用权限 Program Files 。
Program Files