2009-08-24 12 views
2
  1. フォルダを削除し、すべてのサブフォルダとファイルを削除する最も良い方法は何ですか?
  2. 特定の拡張子を持つファイルを削除する最適な方法は何ですか。たとえば、拡張子が「.txt」のファイルのみを削除する場合はどうすればよいですか?

ココアまたは炭素。空でないフォルダと特定のファイルタイプを削除する

+0

ループを使用するのが最良の方法です –

答えて

3

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

特定の拡張子を持つファイルのみを削除する方法:各パス名のpathExtensionを取得し、caseInsensitiveCompare:を使用してヒットリストにあるファイルを削除します。

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

+0

内部アプリケーションファイルがない限り、リサイクル操作を使用する方がいいでしょう: – Jacob

1

もちろん、therecycleを使用することを忘れないでください。

一つの方法は、少なくとも...この例では、単に拡張子がjpg持つすべてのファイルのためのアプリケーションのドキュメントディレクトリに見て、それらを削除します。..特定の拡張子を持つファイルを削除するには

+1

"ごみ箱"とは何ですか?質問はココアについてです。 – Meltemi

1

..

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 
      } 
    } 
関連する問題