如何确保文件路径有效?

时间:2010-09-08 11:56:43

标签: c# validation filenames

我想确保给定的文件名有效,即使这意味着替换或删除某些字符。我现在正在这样做:

Path.GetInvalidFileNameChars ().ToList ().ForEach (x => path.Replace (x, '-'));

但据我所知,this is not guaranteed to yield a valid filename。有没有比执行上述预检更好的方法,然后实际尝试捕捉打开文件?

编辑:发现上述代码中的错误;)

轻微添加:我希望尽可能保持文件名的可读性,因此应避免使用某种BASE64。

1 个答案:

答案 0 :(得分:3)

我们过去使用过的一种方法是用一些特殊字符(如连字符)替换不在某些特定波段(字母数字和连字符/下划线)中的所有字符。这假设大多数文件系统允许此频段。但是,对于一些可能不允许说数字的未来FS来说,这是不安全的。