【问题标题】:Invalid Filename Check无效的文件名检查
【发布时间】:2013-08-31 21:50:53
【问题描述】:

我有一个string,它存储一个文件名并在SaveFileDialog 中使用。在将文件名分配给SaveFileDialogFileName 属性之前,我需要确保文件名有效(例如,不包含斜杠)。我的问题是:有没有一种快速的方法来确保文件名在分配之前是有效的?

例子:

string fileName = fileNameTextBox.Text;
//Some code here to check validity of fileName
if(fileNameIsValid)
{
  saveFileDialog.FileName = fileName;
}

【问题讨论】:

标签: c#


【解决方案1】:

这个问题一直是askedmanytimesbefore,正如之前多次指出的,IO.Path.GetInvalidFileNameChars 是不够的。

首先,有许多名称,如 PRN 和 CON,是保留的,不允许用于文件名。还有其他名称不允许仅在根文件夹中。也不允许使用以句点结尾的名称。

其次,有多种长度限制。阅读 NTFS here 的完整列表。

第三,您可以附加到具有其他限制的文件系统。例如,ISO 9660 文件名不能以“-”开头,但可以包含它。

查找文件名是否无效的唯一方法是尝试保存它并查看它是否引发异常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-11
    • 2011-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多