0

stringファイル名を保存し、で使用される がありますSaveFileDialogFileNameのプロパティに割り当てる前に、ファイル名が有効であること (たとえば、スラッシュが含まれていないこと) を確認する必要がありますSaveFileDialog。私の質問は次のとおりです。ファイル名を割り当てる前に、ファイル名が有効であることを確認する簡単な方法はありますか?

例:

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

1 に答える 1

6

この質問はこれまで何度も出されてきました、何も指摘されているように、適切 ではありません。 IO.Path.GetInvalidFileNameChars

まず、PRN や CON など、予約されていてファイル名に使用できない名前が多数あります。ルート フォルダーでのみ許可されていない他の名前があります。ピリオドで終わる名前も許可されていません。

第二に、さまざまな長さの制限があります。NTFS の完全なリストについては、こちらを参照してください。

第 3 に、他の制限があるファイルシステムにアタッチできます。たとえば、ISO 9660 ファイル名は「-」で始まることはできませんが、「-」を含むことはできます。

ファイル名が無効かどうかを確認する唯一の方法は、ファイルを保存して、例外がスローされるかどうかを確認することです。

于 2013-08-28T17:51:08.310 に答える