【问题标题】:"/" in filename, not as a directory separator文件名中的“/”,而不是目录分隔符
【发布时间】:2011-09-05 16:21:03
【问题描述】:

我的问题是,如果用户输入一个带有“/”的文件名,它将被保存到另一个目录。有没有办法防止这种情况,所以我可以在文件名中有“/”?

例如,名为“page 8/9.txt”的文件不应保存在“page 8”目录下为“9.txt”。

编辑:
: 对我来说很好用!谢谢Paul R

【问题讨论】:

  • Mac OS X 还是 iOS?请适当标记。无论哪种方式,文件名中的 / 都应该转换为 :,除非您绕过正常的 UI 内容。
  • @Paul R : 工作!非常感谢!
  • 太好了 - 我现在已将此作为答案添加,以便您接受。

标签: objective-c nsstring filenames macos


【解决方案1】:

不,“大多数”文件系统(我想不出任何反例,尽管我认为确实存在一些)不允许 / 字符,即使是那些不使用它作为目录分隔符的文件系统(例如 FAT 和NTFS)。

你将不得不清理你的输入,但无论如何这是一个很好的一般习惯!

【讨论】:

  • Windows 接受/ 作为目录分隔符以及\
  • 啊,干杯,不知道,这里没有方便的 Windows 机器进行测试;我只记得它不是名称中的合法字符。谢谢:)
  • 感谢您的 awnser,但正如您所注意到的,我使用的是 Objective-c,它适用于 mac / iPhone
  • 我将 Objective-C 代码写入 FAT;无论如何,提到的 FAT/NTFS 只是“不接受 / 的东西”的一个额外示例
【解决方案2】:

Mac OS X 通常透明地将/ 转换为:反之亦然,只要您不绕过用于文件系统导航和文件 I/O 的常用 API。

【讨论】:

    猜你喜欢
    • 2023-03-24
    • 2018-01-04
    • 1970-01-01
    • 2013-02-27
    • 2014-10-21
    • 1970-01-01
    • 1970-01-01
    • 2023-01-25
    • 1970-01-01
    相关资源
    最近更新 更多