system.io.path说合法字符是非法的

0 .net filenames file

我正在编写一个处理用户归档的util,其中一个测试归档文件名为"".export.在我的代码中,我循环遍历所有文件扩展名,并检查文件扩展名以忽略某些文件类型(例如thumb.db).

当我写Path.GetExtension(v)Path.GetFileName(v)我得到一个例外的消息"路径中的非法字符." "显然是非法的,但在Windows上 - 编辑没关系,这是非法的我原本以为该字符是')我可以使用该文件名.我可以告诉它允许这个角色吗?我需要编写自己的GetExtension和GetFileName吗?我能做什么?

Jon*_*eet 6

不,您不能强制文件系统接受它不想要的字符.Windows只是不允许您在文件名中包含引号.

您需要删除引号(可能用下划线或类似内容替换它们),或者为您正在使用的文件系统中无效的字符计算某种形式的转义.