在.net中是否有一个内置的方法来对文件路径进行编码,与您编码url的方式相同?例如,如果我在文件名中有非法字符,比如“随便什么”,我希望它对":“进行编码,所以它仍然存在,只是编码,以便系统能够接受它。我想做一些像Path.Encode(fileName)这样的事情
外面有这样的东西吗?
这就是我在做的事。我正在为我在www.wikipediamaze.com上创建的游戏而抓取wikipedia.org。在进行屏幕抓取时,我将结果缓存在app_data文件夹中的一个文件中,该文件与我所在的维基百科站点当前主题的名称相匹配。例如,如果我在这个地方:
http://www.wikipedia.org/wiki/Kevin_Bacon
然后我刮掉那个页面,解析它,清理它,等等,然后缓存到磁盘上,以便以后更快地退休。它被存储在/App_Data/Kevin_Bacon (no file extension)的位置。这很好,除非我在一个页面上
http://www.wikipedia.org/wiki/Wikipedia:About
尝试在/App_Data/Wikipedia:About创建文件显然不起作用,因为“:”字符在文件名中是非法的。
更新
这对我来说很有用:
public static string EncodeAsFileName(this string fileName)
{
return Regex.Replace(fileName, "[" + Regex.Escape(
new string(Path.GetInvalidFileNameChars())) + "]", " ");
}https://stackoverflow.com/questions/1032105
复制相似问题