Foundation框架基础 NSFileManager-文件管理器

来源:互联网 发布:c语言中eof怎么输入 编辑:程序博客网 时间:2024/06/13 10:14
#import<Foundation/Foundation.h>
/*
  NSFileManager  单例对象
 */
intmain(intargc, const char * argv[]) {
   
@autoreleasepool {
       
//     获取NSFileManager单例对象
      NSFileManager *fm = [NSFileManagerdefaultManager];

//     创建目录/Users/apple/Desktop/hhh
      NSString *path = @"/Users/apple/Desktop/dir/test";

//     withIntermediateDirectories 中间目录要不要创建
       NSError *error = nil;

//     这个方法只能创建文件目录(文件夹)
      
BOOL isSuccess =  [fmcreateDirectoryAtPath:pathwithIntermediateDirectories:YESattributes:nilerror:&error];
       
if (isSuccess) {
           
NSLog(@"创建成功!");
        }
else{
           
NSLog(@"%@",error);
        }
       
        path =
@"/Users/apple/Desktop/dir/test/abc.txt";
//     创建文件
       NSString *str = @"今天OC最后一天!";

//      NSData OC中用于保存二进制数据的,对应图片、视频这些类型的文件只能使用NSData来保存
        
NSData *data  =  [strdataUsingEncoding:NSUTF8StringEncoding];
        isSuccess = [fm
createFileAtPath:pathcontents:dataattributes:nil];
       
if (isSuccess) {
           
NSLog(@"文件创建成功!");
        }
    }
   
return 0;
}


voidtest()
{
   
//     获取NSFileManager单例对象
   
NSFileManager *fm = [NSFileManagerdefaultManager];
   
   
NSString *path =@"/Users/apple/Desktop/OC总结.m";
   
//     即可判断文件也可以是文件夹
   
BOOL isExists  = [fmfileExistsAtPath:path];
   
if(isExists){
       
NSLog(@"存在");
    }
   
   
BOOL isDir =NO;//是否为文件夹
    isExists  = [fm
fileExistsAtPath:pathisDirectory:&isDir];
   
//      只有存在isDir才有意义
   
if(isExists){
       
NSLog(@"存在 ,%d",isDir);
    }
else{
       
NSLog(@"不存在 ,%d",isDir);
    }
   
//      判断文件权限
   
//      判断文件是否可读
   
BOOL isReadable = [fmisReadableFileAtPath:path];
   
NSLog(@"%d",isReadable);
   
//     判断文件是否可写
   
BOOL isWritable = [fmisWritableFileAtPath:path];
   
NSLog(@"%d",isWritable);
   
NSError *error =nil;
   
//     获取文件或目录的属性
   
NSDictionary *attr = [fmattributesOfItemAtPath:patherror:&error];
   
if (!error) {
       
NSLog(@"%@",attr);
    }
   
//      获取文件或文件夹的大小
   
NSNumber *size = attr[@"NSFileSize"];
    size = attr[
NSFileSize];
   
NSLog(@"szie = %@",size);
   
NSDate *date  = attr[NSFileModificationDate];
   
NSLog(@"%@",date);
   
   
//      拷贝文件 复制文件(可以是文件也可是文件夹)
   
NSString *dest =@"/Users/apple/Desktop/test.m";
   
   
BOOL isSuccess = [fmcopyItemAtPath:pathtoPath:desterror:&error];
   
if (isSuccess) {
       
NSLog(@"拷贝成功!");
    }
   
NSString *moveTo =@"/Users/apple/Desktop/testMove/test.m";
   
//     移动文件/剪切
    isSuccess =  [fm
moveItemAtPath:pathtoPath:moveToerror:&error];
   
if (isSuccess) {
       
NSLog(@"移动成功!");
    }
}

0 0