在.net中是否有内置的方法来编码文件路径,方法与编码url相同?例如,如果我在文件名中包含非法字符,比如“whatever:whatever”,我希望它对“:”进行编码,所以它仍然存在,只是进行编码以便系统接受它。我想要做一些类似于Path.Encode(fileName)
对文件路径进行编码
这里有什么这样的吗?
这是我正在做的。我在wikipedia.org上为我在www.wikipediamaze.com创建的游戏刮了一个游戏。当我进行屏幕抓取时,我将结果缓存在我的app_data文件夹中的一个文件中,该文件夹与我所在的维基百科网站的当前主题的名称相匹配。举例来说,如果我在的位置:
http://www.wikipedia.org/wiki/Kevin_Bacon
然后我凑该网页,解析它,擦干净等,然后在磁盘缓存更快retireval以后。它被存储在位置/App_Data/Kevin_Bacon (no file extension)
。这个伟大的工程,除非我的网页上像
http://www.wikipedia.org/wiki/Wikipedia:About
试图在/App_Data/Wikipedia:About
创建一个文件显然是因为不工作“:”字符是一个文件名非法。
UPDATE
这对我的伟大工程:
public static string EncodeAsFileName(this string fileName)
{
return Regex.Replace(fileName, "[" + Regex.Escape(
new string(Path.GetInvalidFileNameChars())) + "]", " ");
}
我可以问你为什么要这样做吗?它可以帮助我和其他人确定适当的解决方案。 – Lazarus 2009-06-23 12:17:58