2011-12-17 26 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"]; 

我想這個複製到一個名爲新文件upload.txt

NSString *filePath = [self getLocalDocumentPath:@"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

一個方法可能是:
你可以閱讀你想在NSData保存該文件的內容,然後可以使用:

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

其中您可以用一個您提到的各種文件的相對文件路徑替換路徑。