目标C将带有扩展名和名称的文件保存到字典

Posted

技术标签:

【中文标题】目标C将带有扩展名和名称的文件保存到字典【英文标题】:objective C save file with extension and name to dictonary 【发布时间】:2013-05-16 08:25:13 【问题描述】:

我有一个浏览功能,我可以在其中获取文件的 url。

现在我想将文件保存在支持文件字典中,这样如果文件移动到其他任何地方,它仍然可以访问它

我有一个将其保存到支持文件的代码:

NSURL *mainUrl;
mainUrl=[[NSBundle mainBundle] bundleURL];
NSFileManager *Fm;
[Fm copyItemAtURL:url toURL:mainUrl error:nil];

但我不知道名称和扩展名是什么,因为浏览功能允许 png、jpg、jepg 文件

我需要名字才能访问它

所以我的问题是如何使用我选择的名称和扩展名保存文件

我的名字应该是这样的:

NSString *string;
NSInteger number;
number=0;
string=[NSString stringWithFormat:@"%@%li",@"img",(long)number];

扩展名是 jpg

有人可以帮我吗?

【问题讨论】:

这没有意义;你怎么能将文件复制到你的包中?此外,如果您想跟踪文件移动,则需要使用书签:developer.apple.com/library/mac/#documentation/Cocoa/Reference/…: 如果您唯一担心的是文件移动,那么保留文件别名不是比复制文件更好吗? (别名在移动文件时跟踪文件)数据重复肯定会导致同步问题(用户更改文件,但随后移动文件;您的副本将过期) 【参考方案1】:

你可以使用NSString-stringByAppendingPathExtension:方法:

[@"foo" stringByAppendingPathExtension: @"jpg"];

结果为@​​987654324@。

【讨论】:

【参考方案2】:

您可以使用指定的完整路径和以下函数获取文件名和扩展名。

/* NSString 类引用*/

最后一个路径组件 返回接收器的最后一个路径组件。

(NSString *)lastPathComponent

路径扩展 将接收者解释为路径并返回接收者的扩展名(如果有)。

(NSString *)路径扩展

【讨论】:

以上是关于目标C将带有扩展名和名称的文件保存到字典的主要内容,如果未能解决你的问题,请参考以下文章

使用带有指定文件名和扩展名的浏览器将文件保存到本地系统,使用 html 和 javascript,无需服务器交互

如何将带有 NSValue 对象的 NSDictionary 保存到文件中

保存文件但隐藏文件扩展名 - 带有键值编码的 Cocoa

将文件保存到 C++ 中用户输入定义的位置和名称

如何将图片从图片库保存到应用程序的文档文件夹中

使用共享扩展将图像保存到文档文件夹