IOS檔處理
簡介
檔處理不能直觀的通過應用程式來解釋,我們可以從以下實例來瞭解IOS的檔處理。
IOS中對檔的操作. 因為應用是在沙箱(sandbox)中的,在檔讀寫許可權上受到限制,只能在幾個目錄下讀寫檔。
檔處理中使用的方法
下麵列出了用於訪問和操作檔的方法的列表。
以下實例你必須替換FilePath1、FilePath和FilePath字串為完整的檔路徑,以獲得所需的操作。
檢查檔是否存在
NSFileManager *fileManager = [NSFileManager defaultManager];
//Get documents directory
NSArray *directoryPaths = NSSearchPathForDirectoriesInDomains
(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectoryPath = [directoryPaths objectAtIndex:0];
if ([fileManager fileExistsAtPath:@""]==YES) {
NSLog(@"File exists");
}
比較兩個檔的內容
if ([fileManager contentsEqualAtPath:@"FilePath1" andPath:@" FilePath2"]) {
NSLog(@"Same content");
}
檢查是否可寫、可讀、可執行檔
if ([fileManager isWritableFileAtPath:@"FilePath"]) {
NSLog(@"isWritable");
}
if ([fileManager isReadableFileAtPath:@"FilePath"]) {
NSLog(@"isReadable");
}
if ( [fileManager isExecutableFileAtPath:@"FilePath"]){
NSLog(@"is Executable");
}
移動檔
if([fileManager moveItemAtPath:@"FilePath1"
toPath:@"FilePath2" error:NULL]){
NSLog(@"Moved successfully");
}
複製檔
if ([fileManager copyItemAtPath:@"FilePath1"
toPath:@"FilePath2" error:NULL]) {
NSLog(@"Copied successfully");
}
刪除檔
if ([fileManager removeItemAtPath:@"FilePath" error:NULL]) {
NSLog(@"Removed successfully");
}
讀取檔
NSData *data = [fileManager contentsAtPath:@"Path"];
寫入檔
[fileManager createFileAtPath:@"" contents:data attributes:nil];
