当我有目录路径,文件名和扩展名时,如何构建完整而安全的文件路径?

时间:2011-05-25 14:56:27

标签: objective-c ios filesystems nsstring

假设directoryPath指向应用程序的Documents目录:

NSString *fileName = @"demo";
NSString *extension = @"txt";
NSString *filePath = [directoryPath stringByAppendingPathComponent:fileName];
filePath = [filePath stringByAppendingPathExtension:extension];

认为这是做到这一点的方法,但我不确定。也许有更好的一个。首先我想也许我只是用这样的扩展名创建文件名:

NSString *fileName = [NSString stringWithFormat:@"%@.%@", fileName, extension];

然后使用-stringByAppendingPathComponent:附加它,但我敢打赌,出于某种原因这是一个坏主意。也许是因为它对点分隔符进行硬编码以进行扩展。他们永远不会改变这个,因为它会像地狱一样倾倒。但你永远不知道。所以......

我是否以正确的方式做到了?

需要支持旧操作系统版本。

1 个答案:

答案 0 :(得分:2)

这个怎么样?

NSString* fileNameExt = [NSString stringWithFormat:@"%@.%@", fileName, extension];
NSString *filePath = [directoryPath stringByAppendingPathComponent:fileNameExt];