-3

在我的文档文件夹中,我在该文件夹中有一个名为 folder1 的文件夹,我有 css、js、main.html 等。我正在 webview 中打开 main.html ....如果在服务器中完成任何更新,我正在下载文件夹 2 并将其解压缩到缓存目录例如:我在文档目录中的文件夹 1 中有 css、js、main.html,并且在服务器中完成了新的更新,我正在下载文件夹 2 并在文件夹 2 的缓存目录中解压缩我只有 css现在我想比较这些文件夹 1 和文件夹 2 的内容,如果此示例中的两个文件夹中都存在相同的方法,我想删除文档目录文件夹 1 中的 CSS,并且我想将文件夹 2 中的 CSS 替换为文件夹 1 ......这是下一次的过程如果完成任何更新,那么我可能会下载 js 而不是 css,那时我只想替换 js。任何人都可以帮助如何检查内容和替换...请帮助我它对我的影响

4

1 回答 1

1

根据我的理解,您正在使用 Documents 目录来存储要加载到 UIWebView 和 Caches 目录中的 CSS 和 HTML,以解压缩并存储来自服务器的最新 CSS 和 HTML 文件。解压后,您想将Caches文件夹中的CSS和JS文件的内容与Documents文件夹中的CSS和JS文件的内容进行比较,如果有变化则替换。

这有2个步骤:

  1. 标准化两个文件夹中的文件名,以便您知道应该将 Caches 目录中的哪个文件与 Documents 目录中的哪个文件进行比较。为要比较的文件指定相同的名称。

  2. 在从服务器获取文件并在 Caches 文件夹中解压缩时,您可以使用 NSFileManager 类访问 Documents 目录中的相同文件(名称与第 1 点中提到的相同),然后在 NSString 中读取它,然后将其与另一个文件进行比较NSString 包含您的 Caches 文件夹内容。如果比较返回相等,您可以跳过。否则,您可以使用

 NSFileManager *manager = [NSFileManager defaultManager]; 

 [manager copyItemAtPath:sourcePath(CachesDir) toPath:destinationPath(DocumentsDir) error:&error]

这会将您最新解压缩的项目从 CacheDirectory 复制到 Documents Directory。

但是,您可能需要仔细检查文档目录中保存的内容,因为它备份在设备映射到的 iCloud 帐户上。请进一步阅读。

于 2012-12-15T11:15:46.647 回答