详解iOS学习笔记(十七)——文件操作(NSFileManager)

2020-01-18 18:37:20丽君

获取Tmp目录路径:


//获取Tmp目录 
-(void)dirTmp{ 
  //[NSHomeDirectory() stringByAppendingPathComponent:@"tmp"]; 
  NSString *tmpDirectory = NSTemporaryDirectory(); 
  NSLog(@"app_home_tmp: %@",tmpDirectory); 
} 

创建文件夹:


//创建文件夹 
-(void *)createDir{ 
  NSString *documentsPath =[self dirDoc]; 
  NSFileManager *fileManager = [NSFileManager defaultManager]; 
  NSString *testDirectory = [documentsPath stringByAppendingPathComponent:@"test"]; 
  // 创建目录 
  BOOL res=[fileManager createDirectoryAtPath:testDirectory withIntermediateDirectories:YES attributes:nil error:nil]; 
  if (res) { 
    NSLog(@"文件夹创建成功"); 
  }else 
    NSLog(@"文件夹创建失败"); 
 } 

创建文件


 //创建文件 
-(void *)createFile{ 
  NSString *documentsPath =[self dirDoc]; 
  NSString *testDirectory = [documentsPath stringByAppendingPathComponent:@"test"]; 
  NSFileManager *fileManager = [NSFileManager defaultManager]; 
  NSString *testPath = [testDirectory stringByAppendingPathComponent:@"test.txt"]; 
  BOOL res=[fileManager createFileAtPath:testPath contents:nil attributes:nil]; 
  if (res) { 
    NSLog(@"文件创建成功: %@" ,testPath); 
  }else 
    NSLog(@"文件创建失败"); 
} 

写数据到文件:


//写文件 
-(void)writeFile{ 
  NSString *documentsPath =[self dirDoc]; 
  NSString *testDirectory = [documentsPath stringByAppendingPathComponent:@"test"]; 
  NSString *testPath = [testDirectory stringByAppendingPathComponent:@"test.txt"]; 
  NSString *content=@"测试写入内容!"; 
  BOOL res=[content writeToFile:testPath atomically:YES encoding:NSUTF8StringEncoding error:nil]; 
  if (res) { 
    NSLog(@"文件写入成功"); 
  }else 
    NSLog(@"文件写入失败"); 
} 

读文件数据:


//读文件 
-(void)readFile{ 
  NSString *documentsPath =[self dirDoc]; 
  NSString *testDirectory = [documentsPath stringByAppendingPathComponent:@"test"]; 
  NSString *testPath = [testDirectory stringByAppendingPathComponent:@"test.txt"]; 
//  NSData *data = [NSData dataWithContentsOfFile:testPath]; 
//  NSLog(@"文件读取成功: %@",[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]); 
  NSString *content=[NSString stringWithContentsOfFile:testPath encoding:NSUTF8StringEncoding error:nil]; 
  NSLog(@"文件读取成功: %@",content); 
} 

文件属性:


//文件属性 
-(void)fileAttriutes{ 
  NSString *documentsPath =[self dirDoc]; 
  NSString *testDirectory = [documentsPath stringByAppendingPathComponent:@"test"]; 
  NSFileManager *fileManager = [NSFileManager defaultManager]; 
  NSString *testPath = [testDirectory stringByAppendingPathComponent:@"test.txt"]; 
  NSDictionary *fileAttributes = [fileManager attributesOfItemAtPath:testPath error:nil];   
  NSArray *keys; 
  id key, value; 
  keys = [fileAttributes allKeys]; 
  int count = [keys count]; 
  for (int i = 0; i < count; i++) 
  { 
    key = [keys objectAtIndex: i]; 
    value = [fileAttributes objectForKey: key]; 
    NSLog (@"Key: %@ for value: %@", key, value); 
  } 
}