2
  1. すべてのサブフォルダーとファイルを削除して、フォルダーを削除する最良の方法は何ですか?
  2. 特定の拡張子を持つファイルを削除する最良の方法は何ですか? たとえば、拡張子が「.txt」のファイルだけを削除したい場合はどうすればよいですか?

ココアまたはカーボン。

4

3 に答える 3

3

ディレクトリ ツリー (またはファイル) を削除するには、 を使用します-[NSFileManager removeItemAtPath:error:]。これにより、ファイルが直接削除されます (すべてのファイルが削除されます)。代わりにアイテムをゴミ箱に移動する場合は、 を使用しますNSWorkspaceRecycleOperation

特定の拡張子を持つファイルのみを削除する場合: 各パス名を取得し、それをpathExtension使用caseInsensitiveCompare:して探しているものと比較し、ヒット リストにある場合はファイルを削除します。

2 つを組み合わせる (つまり、ディレクトリ ツリー内で特定の拡張子を持つファイルのみを削除する) 場合は、NSFileManager からディレクトリ列挙子を取得し、ディレクトリ ツリーを自分で調べて、ファイルを 1 つずつ削除する必要があります。

于 2009-08-24T13:39:55.530 に答える
1

もちろん、ユーザーが見たり知ったりしてはいけないファイルでない限り、必ずごみ箱を使用してください。

于 2009-08-24T15:15:49.973 に答える
1

特定の拡張子を持つファイルを削除するには..

少なくとも 1 つの方法..この例では、拡張子が jpg のファイルをアプリケーション ドキュメント ディレクトリで検索し、それらを削除しています..

    NSFileManager *fManager = [NSFileManager defaultManager];
    NSString *dir = [self applicationDocumentsDirectory];

    NSError *error;
    NSArray *files = [fManager contentsOfDirectoryAtPath:dir error:&error];

    for (NSString *file in files) {

          if ([[[file pathExtension] lowercaseString] isEqualToString: @"jpg"]) 
          {
              [fManager removeItemAtPath: [dirstringByAppendingPathComponent:file] error:&error];
              NSLog(@"removed: %@",file);
          }

          if (error) {
             //deal with it
          }
     }
于 2011-02-22T07:24:46.620 に答える