FZEasyFile 0.0.3

FZEasyFile 0.0.3

测试测试
语言语言 Objective-CObjective C
许可证 MIT
发布日期最近发布2014年12月

Shannon Chou 维护。



  • 作者:
  • Shannon

在沙盒中创建、覆盖和删除文件的一种简单方法。

这是什么?

使用 iOS 的 sdk 直接管理文件既繁琐又无聊且难以阅读。FZEasyFile 提供了一种在沙盒中创建或覆盖文件的方法。如果想要创建文件,只需通知 FZEasyFile 您的文件名,例如 "my/file/path/info.txt"。不需要关心根目录是什么,或者 "my/file/path/" 目录是否存在。

实际上,根目录是沙盒中的 "Documents",如果不存在,"my/file/path" 将会自动创建。

用法

导入源文件

将 "FZEasyFile.h" 和 "FZEasyFile.m" 拖到您的项目中。并在源文件中导入 .h 文件。

#import "FZEasyFile.h"

测试文件是否存在

[EasyFile isFileExists:@"my/file/path/info.txt"]

创建新文件

[EasyFile createFile:"my/file/path/info.txt" overwrite:NO];

将短文件名转换成全名

NSString *fullName = [EasyFile fullFileName:"my/file/path/info.txt"];

在得到完整名称后,您可以将其传递给其他 API,例如 NSInputStream。

NSInputStream *input = [NSInputStream inputStreamWithFileAtPath:fullName];

比较

这里我粘贴了两段代码。分别是一个使用传统方式,另一个使用 FZEasyFile。以传统方式创建新文件

    NSFileManager *fileManager = [NSFileManager defaultManager];

    //获取document路径,括号中属性为当前应用程序独享
    NSArray *directoryPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentDirectory = [directoryPaths objectAtIndex:0];

    //查找文件夹,如果不存在,就创建一个文件夹
    NSString *dir = [documentDirectory stringByAppendingPathComponent:@SAVEDIR];
    NSLog(@"cache dir %@", dir);
    if(![fileManager fileExistsAtPath:dir])
    {
        if(![fileManager createDirectoryAtPath:dir withIntermediateDirectories:YES attributes:nil error:nil])
        {
            NSLog(@"create dir:(%@) error", dir);
            return;
        }
    }

    //定义记录文件全名以及路径的字符串filePath
    NSString *filePath = [dir stringByAppendingPathComponent:[[NSString alloc]initWithFormat:@"/%@", filename]];

    //查找文件,如果不存在,就创建一个文件
    NSData *data = [lHtml dataUsingEncoding:NSUTF8StringEncoding];
    if (![fileManager fileExistsAtPath:filePath]) {
        [fileManager createFileAtPath:filePath contents:data attributes:nil];
    }

使用 FZEasyFile 创建新文件

[EasyFile createFile:fileName overwrite:NO];
NSOutputStream *output = [NSOutputStream outputStreamToFileAtPath:[EasyFile fullFileName:fileName] append:NO];

联系方式

请发邮件给我: [email protected]

许可证

MIT 许可证。请参见 LICENSE 文件。