我正在制作文件管理器应用程序,它将允许用户创建和移动文件。 当文件名或目录名包含特殊字符,表情符号或非英语字母的文件时,我在移动文件时遇到问题。但是我看到有很多应用程序可以创建带有这些字符名称的文件夹和文件,然后移动它们。为什么我不能这样做?
我将文件移动到名为emoji的文件夹中。 例如,此代码不会创建错误,但在目标文件夹文件中却没有该错误:
try FileManager.default.moveItem(atPath: atPath, toPath: toPath)
atPath:
/ var / mobile /容器/数据/应用程序/99F4B9F3-6EEB-4CA6-8BFF-73E761213C08/Documents/%E2%9D%A4%EF%B8%8F/201902180150250650.pdf
toPath:
/ var / mobile /容器/数据/应用程序/ 0702B04A-BC80-451F-BF84-A668D1990BBA /文档/%F0%9F%8E%81/201902180148461430.pdf
%F0%9F%8E%81是它的“礼物表情符号”文件夹的名称,但是我使用编码来替换表情符号:
addingPercentEncoding(withAllowedCharacters: NSCharacterSet.urlPathAllowed)!
如果我从文件夹名称中删除%-可以,但是之后我将无法将其转换为原始名称