2011-12-17 13 views
0

バックアップルーチンの一部としていくつかのファイルをコピーしたいと思います。Obj-C、NSSearchPathForDirectoriesInDomainsを使用してファイルをコピーするにはどうすればよいですか?

私は私のファイルの場所を与える以下の機能を持っています。

- (NSString *)getLocalDocumentPath:(NSString*)strFile { 

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, 
      NSUserDomainMask, YES); 
    NSString *path = [[paths objectAtIndex:0] 
      stringByAppendingPathComponent:strFile]; 
    return path; 
} 

相続人は私のデータベース

NSString *filePath = [self getLocalDocumentPath:@"mydatabase.db"]; 

私は、ファイルをダウンロードし、後に続いて

NSString *filePath = [self getLocalDocumentPath:@"upload.txt"]; 

upload.txtと呼ばれる新しいファイルにこれをコピーしたいです。

NSString *filePath = [self getLocalDocumentPath:@"download.txt"]; 

私は元のデータベースファイルの上にコピーします。

NSString *filePath = [self getLocalDocumentPath:@"mydatabase.db"]; 

答えて

0
NSFileManager *fileManager = [NSFilemanager defaultManager]; 
[fileManager copyItemAtPath:databasePath toPath:uploadFilePath error:nil]; 

、あなたがdownload.txtを使用してデータベースを上書きしたい場合は、NSDataのインスタンスを作成し、使用- (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile

0

あなたは非常によくNSFileManagerを知って取得したいように(文書はあなたのためにリンクされている)ですね。あなたが最も可能性が高い中で最も興味があると思い

方法は次のとおりです。

moveItemAtPath:toPath:error:

0

1の方法は次のようになります。
あなたはNSDataで保存したいファイルの内容を読み取ることができ、その後使用することができます。

- (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile 

このパスでは、さまざまなファイルについて説明した相対ファイルパスをパスに置き換えることができます。

関連する問題