当我尝试打开名为CON.txt的txt文件时,我在C#中遇到了一个奇怪的问题。我想为CON.DE符号存储雅虎财务数据。
using System.IO;
namespace Test
{
internal class Program
{
public static void Main(string[] args)
{
File.Open("CON.DE.txt", FileMode.Create);
}
}
}
Visual Studio抛出异常并说:
FileStream不会打开Win32设备,如磁盘分区和 磁带机。避免在路径中使用“\。\”。
这是.NET Framework或Win32中的错误吗?有办法解决这个问题吗?
答案 0 :(得分:2)
CON
似乎是Windows保留的一个关键字,可以追溯到MS-DOS时代(但至今保留至今)。
一种解决方案是用另一个字符(例如CON-DE.txt
或等效字符)替换'CON'和'DE'之间的句号。
有关保留的MS-DOS设备驱动程序名称的完整列表,请参阅:https://support.microsoft.com/en-gb/help/74496/ms-dos-device-driver-names-cannot-be-used-as-file-names。