文件处理(File handling)

优质
小牛编辑
132浏览
2023-12-01

在NSFileManager类的帮助下可以进行文件处理。 这些示例不适用于在线编译器。

文件处理中使用的方法

下面列出了用于accessingmanipulating文件的方法列表。 在这里,我们必须将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];

我们已成功学习了各种文件访问和操作技术,现在是时候对文件进行各种操作并了解文件的使用情况。