iPhone文件系统操作问题

时间:2012-04-06 07:29:12

标签: iphone objective-c ios

我想将文件从远程文件夹下载到临时文件夹

遥控器上的文件夹,如:

http://remoteserver.com/abc/def/file1.txt
http://remoteserver.com/abc/file2.png
http://remoteserver.com/abc/pla/mnb/file3.html

,文件夹结构如下:

tmpefolder/abc/def/file1.txt
tmpefolder/abc/file2.png
tmpefolder/abc/pla/mnb/file3.html

然后在下载后,将文件移动到永久文件夹,并保持相同的文件夹结构

permanentfolder/abc/def/file1.txt
permanentfolder/abc/file2.png
permanentfolder/abc/pla/mnb/file3.html

最后删除tempfolder中的所有文件

所以我的问题是:

  1. 从服务器下载多个文件的最佳方法是什么? (最好显示ASIHTTPRequest,可以通过其他方式向我展示)

  2. 创建整个文件夹结构的简便方法?我是否必须通过“/”拆分文件夹路径并检查每个级别路径是否存在并创建它?

  3. 如何将整个临时文件夹内容复制到永久文件夹?是否可以通过OS X上的复制等操作执行此操作?

  4. 另外,像在OS X上删除操作一样,一次删除临时文件夹?

  5. 谢谢!

2 个答案:

答案 0 :(得分:0)

1 /你最好使用AFNetworkASIHTTPRequest正在变老,不再维持。 AFNetwork更现代,适用于块(“嗯,块”,就像荷马所说的那样)。这里有很多例子,只是搜索。

具体来说,AFNetwork允许您将下载操作放在NSOperationQueue中,您可以随意处理下载操作,比如说,并行下载35个文件,最多可以下载4个文件同时,并在完成所有工作后向您汇报。

2,3,4 /看看NSFileManager的参考。你所需要的就是那里。

答案 1 :(得分:-1)

创建.zip所有文件使用以下代码下载.zip表单服务器。 这将在NSTemporaryDirectory中创建您的文件夹。

 NSString *filePath = [NSString stringWithFormat:@"%@/FILENAME.zip",NSTemporaryDirectory()];
 [[NSFileManager defaultManager] createFileAtPath:filePath contents:[NSData dataWithContentsOfURL:[NSURL URLWithString:[obj valueForKey:@"zip_path"]]] attributes:nil];
下载后将文件夹下载到documentDirectory。

[[NSFileManager defaultManager] moveItemAtPath:filePath toPath:[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"] error:nil];

以下代码是从temp

中删除文件
[[NSFileManager defaultManager] removeItemAtPath:filePath error:nil];