【问题标题】:system.io.path says legal characters are illegalsystem.io.path 说合法字符是非法的
【发布时间】:2012-01-09 17:38:21
【问题描述】:

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

当我写 Path.GetExtension(v)Path.GetFileName(v) 时,我收到一条异常消息“路径中的非法字符”。 " 显然是非法的,但是在 Windows 上 -edit 没关系这是非法的,我最初认为该字符是 ') 我可以使用该文件名。我可以告诉它允许这个角色吗?我需要编写自己的 GetExtension 和 GetFileName 吗?我能做什么?

【问题讨论】:

  • " " 显然是非法的,但在 Windows(我相信 linux)上我可以使用该文件名”。嗯?这是非法的,你不能使用它。

标签: .net file filenames


【解决方案1】:

不,您不能强制文件系统接受它不想接受的字符。 Windows 只是不允许您在文件名中使用引号。

您需要去掉引号(可能用下划线或类似的东西替换它们)或为您正在使用的文件系统中无效的字符制定某种形式的转义。

【讨论】:

  • 正确,我第一次将 " 误读为 ' 所以我认为它是合法的,但实际上它并不合法。感谢 +1 并接受
猜你喜欢
  • 2014-09-01
  • 2015-08-04
  • 1970-01-01
  • 2017-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多