如何从 iOS 的文档目录中复制所有文本文件?
Posted
技术标签:
【中文标题】如何从 iOS 的文档目录中复制所有文本文件?【英文标题】:How to copy all text file from document directory in iOS? 【发布时间】:2013-08-15 11:10:37 【问题描述】:我需要将文档目录中的所有文本文件 (.txt) 复制到我的文件夹名称“Text”中。
我只能复制一个文件。
我想一键复制(*.txt)
。
这里的代码是我的单个文件副本。
self.fileManager = [NSFileManager defaultManager];
NSError *error;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *cutExtension = [tblGetNameToMove.textLabel.text stringByDeletingPathExtension];
NSString *txtPath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.txt",cutExtension]];
NSString *fileName = [NSString stringWithFormat:@"%@/Text/%@.txt",documentsDirectory,cutExtension];
[self.fileManager copyItemAtPath:txtPath toPath:fileName error:&error];
我该怎么做?
【问题讨论】:
显示复制一个文件的代码。 用我的代码编辑了我的问题。 【参考方案1】:获取文件夹中的所有内容
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSArray *fileList = [[NSFileManager defaultManager] directoryContentsAtPath:documentsDirectory];
枚举文件列表并检查它是否包含 .txt
[fileList enumerateObjectsUsingBlock:^(NSString *string, NSUInteger index, BOOL *stop)
if ([string hasSuffix:@".txt"])
[[NSFileManager defaultManager]copyItemAtPath:strdestination toPath:toPath error:&Error];
];
更新
根据 Martin R 的 cmets 更新了我的答案
更新 2
正如 Hot Licks 所指出的那样使用
if ([[string pathExtension] isEqualToString:@"txt"])
检查文件扩展名。
【讨论】:
我会使用if ([string pathExtension] == @"txt") ...
[fileName hasSuffix:@"txt"]
是检查后缀的正确方法。
@IanL:永远不要将 NSString 与“==”进行比较!
目标是字符串吗?
大声笑-马丁好点!大脑冻结时刻!!永远不要不假思索地输入 cmets ;)以上是关于如何从 iOS 的文档目录中复制所有文本文件?的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Word 文档中复制富文本内容控件的内容并使用 Open XML SDK 删除控件本身