NSFileManager的使用

来源:互联网 发布:办公软件的英文 编辑:程序博客网 时间:2024/05/21 10:49

废话不多说, 直接上代码吧  


- (void)test {        // 获取NSFileManager实例    NSFileManager *fileManager = [NSFileManager defaultManager];    // 获取应用沙盒的目录    /**     *  @param 参数1 常用的有三种:         1.NSDocumentDirectory, document目录         2.NSCachesDirectory,  缓存目录         3.NSLibraryDirectory     *  @param 参数2  一般直接用这个NSUserDomainMask     *  @param 参数3  此参数意思为是否展开目录 ,一般为YES     *     *     */        NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];        //在documenPath下拼接一个test的路径    NSString *path = [documentPath stringByAppendingPathComponent:@"test"];    //创建文件夹test    [fileManager createDirectoryAtPath:path withIntermediateDirectories:YES attributes:nil error:nil];    NSLog(@"%@", path);    // 在test下拼接一个test.txt的文件名    NSString *testPath = [path stringByAppendingPathComponent:@"test1.txt"];    //[testPath writeToFile:testPath atomically:YES encoding:NSUTF8StringEncoding error:nil];        //文件写入练习    写入字符串    [[NSFileManager defaultManager] createFileAtPath:testPath contents:[@"hellow  world" dataUsingEncoding:NSUTF8StringEncoding]  attributes:nil];        //搜索指定目录下所有文件: 两种方式都可以        NSArray *files = [fileManager subpathsAtPath:documentPath];    NSLog(@"%@",files);    /*  打印结果     2016-05-08 17:01:05.055 abc[26138:582734] (     test,     "test/.DS_Store",     "test/test.c",     "test/test.txt",     "test/test0.txt",     "test/test1.txt",     test5     )     */        NSArray *files1 = [fileManager subpathsOfDirectoryAtPath:documentPath error:nil];        NSLog(@"%@",files1);    /*  打印结果     2016-05-08 17:01:05.055 abc[26138:582734] (     test,     "test/.DS_Store",     "test/test.c",     "test/test.txt",     "test/test0.txt",     "test/test1.txt",     test5     )     */    //删除指定目录的文件    [fileManager removeItemAtPath:documentPath error:nil];    }//混合数据的读写- (void)test1 {        NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];        //在documenPath下拼接一个test的路径    NSString *path = [documentPath stringByAppendingPathComponent:@"test1.txt"];        //穿件不同数据    NSString *temp = @"hello world";    int dataInt = 111;    float dataFloat = 1.115f;    NSLog(@"----------%.2f", dataFloat);    //创建一个临时数据存储变量    NSMutableData *dataM = [[NSMutableData alloc] init];            //将数据拼接到dataM    [dataM appendData:[temp dataUsingEncoding:NSUTF8StringEncoding]];    [dataM appendBytes:&dataInt length:sizeof(dataInt)];    [dataM appendBytes:&dataFloat length:sizeof(dataFloat)];        //写入数据    [dataM writeToFile:path atomically:YES];            /***************以下为读取部分*****************/    int intData;    float floatData = 0.0;    NSString *stringData;        NSData *data = [NSData dataWithContentsOfFile:path];        stringData = [[NSString alloc] initWithData:[data subdataWithRange:NSMakeRange(0, [temp length])] encoding:NSUTF8StringEncoding];    [data getBytes:&intData range:NSMakeRange([temp length], sizeof(intData))];        [data getBytes:&floatData range:NSMakeRange([temp length] + sizeof(intData), sizeof(floatData))];    NSLog(@"%@, %d, %.2f", temp, intData, floatData);        }


0 0
原创粉丝点击