0

すべてのテキスト ファイル (.txt) をドキュメント ディレクトリからフォルダー名 "Text" にコピーする必要があります。

コピーできるファイルは 1 つだけです。

(*.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];

どうやってやるの?

4

1 に答える 1

0

フォルダ内のすべてのコンテンツを取得する

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 のコメントに従って回答を更新しました

更新 2

Hot Licksの使用で指摘されたように

if ([[string pathExtension] isEqualToString:@"txt"]) {

ファイル拡張子を確認するには。

于 2013-08-15T11:16:42.313 に答える