📜  iOS-文件处理

📅  最后修改于: 2020-12-08 06:22:41             🧑  作者: Mango


无法使用该应用程序直观地说明文件处理,因此下面介绍了用于处理文件的关键方法。请注意,该应用程序捆绑包仅具有读取权限,我们将无法修改文件。您仍然可以修改应用程序的documents目录。

文件处理中使用的方法

下面讨论用于访问操作文件的方法。在这里,我们必须将FilePath1,FilePath2和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];