文件夹和文件操作 增删改 --- 不断更新

来源:互联网 发布:java构造方法怎么写 编辑:程序博客网 时间:2024/06/05 04:29

1。获得目录下的文件(或文件夹)名

    NSError *error = nil;

    NSFileManager *manager = [NSFileManager defaultManager];
    NSArray *fileList = [manager directoryContentsAtPath:dir];

    //fileList  =  [manager contentsOfDirectoryAtPath:dir error:&error];


2。获得文件(或文件夹)属性

     NSString *filePath = getFilePath(dir, file);
     NSDictionary *attributes = [manager fileAttributesAtPath:filePath traverseLink:NO]; // 获得文件属性字典

    例如:取得文件的大小属性值

    NSNumber *fSize = [attributes objectForKey:NSFileSize];

    其他属性值获取如上。


3。判断是文件还是文件夹

     BOOL isDirectory = NO;
     // 判断是不是文件夹
     [manager fileExistsAtPath:filePath isDirectory:&isDirectory];


4。删除文件


    if (![manager removeItemAtPath:appFile error:&error])
    {
        DLog(@"could not delete file: %@", error);
    }


5。创建目录

  NSError *error = nil;

  [managercreateDirectoryAtPath:Directory withIntermediateDirectories:YES attributes:nil error:&error];


6。创建文件


   image =[[UIImageallocimageNamed:@"test.png"];

  imageData =UIImagePNGRepresentation(photoimage);

  [managercreateFileAtPath:filePathcontentsimageData attributes:nil];


7。判断文件是否存在

  [manager fileExistsAtPath:filePath];


8。拷贝文件

  [manager copyItemAtPath:filePath toPath:newPath error:&err];


9。移动文件(通过此接口重命名文件)

  [manager moveItemAtPath:filePath toPath:newPath error:&err];


10。删除目录

    if (![manager removeItemAtPath:testfolder error:&error])
    {
        DLog(@"could not delete folder: %@", error);
    }


11。 获得系统磁盘的大小和可用磁盘的大小

   - (NSNumber *) totalDiskSpace
  {
      NSDictionary *fattributes = [[NSFileManager defaultManager] fileSystemAttributesAtPath:NSHomeDirectory()];
      return [fattributes objectForKey:NSFileSystemSize];
  }

  - (NSNumber *) freeDiskSpace
  {
      NSDictionary *fattributes = [[NSFileManager defaultManager] fileSystemAttributesAtPath:NSHomeDirectory()];
      return [fattributes objectForKey:NSFileSystemFreeSize];
  }


12。获得app各个目录的方法


  

NSDocumentDirecto

ry

<Application_Home>/Documents

NSCachesDirectory

<Application_Home>/Library/Caches

NSApplicationSupp
ortDirectory

<Application_Home>/Library/Application Support

NSHomeDirectory app顶级家(home)路径


Documents目录获得方法:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

NSString *documentsDirectory = [paths objectAtIndex:0];

如果您指定NSApplicationDirectory作为目录参数,同时指定NSSystemDomainMask作为域掩码参数,则可以返回设备上的/Applications路径,但是,您的应用程序不能往该位置写入任何文件。



原创粉丝点击