zoukankan      html  css  js  c++  java
  • 文件管理器和文件对接器

    文件管理器 NSFileManager

     1 #pragma mark - 文件管理器  创建文件夹
     2     
     3     // 创建对象
     4     NSFileManager *manager = [NSFileManager defaultManager];
     5     
     6     // 创建路径
     7     NSString *path = NSHomeDirectory();
     8     path = [path stringByAppendingPathComponent:@"test/myApp"];
     9     NSLog(@"%@", path);
    10     
    11     // 创建
    12     NSError *error = nil;
    13     BOOL success = [manager createDirectoryAtPath:path withIntermediateDirectories:YES attributes:nil error:&error];
    14     NSLog(@"success = %d, error = %@", success, error);
    15     
    16     
    17 #pragma mark - 文件管理器  添加内容
    18     // 添加字符串
    19     path = [path stringByAppendingPathComponent:@"hhh.txt"];
    20     
    21     // 初始化字符串
    22     NSString *string = @"哈哈哈哈";
    23     
    24     [string writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:nil];
    25     
    26     
    27 #pragma mark - 文件管理器  删除内容
    28     [manager removeItemAtPath:path error:nil];
    29     
    30     
    31 #pragma mark - 文件管理器  移动,copy
    32     // 找到Documents路径
    33     NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
    34     
    35     
    36     // 创建一个文件夹
    37     NSString *copyPath = [documentPath stringByAppendingPathComponent:@"备份/test.txt"];
    38     
    39     // stringByDeletingLastPathComponent删除最后一部分内容
    40     [manager createDirectoryAtPath:[copyPath stringByDeletingLastPathComponent] withIntermediateDirectories:YES attributes:nil error:nil];
    41     
    42     // 定义一个字符串
    43     NSString *testStr = @"哈哈哈";
    44     NSData *data = [testStr dataUsingEncoding:NSUTF8StringEncoding];
    45     
    46     [manager createFileAtPath:copyPath contents:data attributes:nil];
    47     
    48     
    49     // 创建一个toPath[用来移动]
    50     NSString *toPath = [documentPath stringByAppendingPathComponent:@"hello/aaa.txt"];
    51     
    52     [manager createDirectoryAtPath:[toPath stringByDeletingLastPathComponent] withIntermediateDirectories:YES attributes:nil error:nil];
    53     
    54     NSError *error1 = nil;
    55     BOOL result = [manager moveItemAtPath:copyPath toPath:toPath error:&error1];
    56     NSLog(@"result = %d, error1 = %@", result, error1);
    57     
    58     
    59     BOOL result1 = [manager copyItemAtPath:copyPath toPath:toPath error:nil];
    60     NSLog(@"%d", result1);

    文件对接器 NSFileHandle

     1 #pragma mark - 使用NSFileManager创建文件夹
     2     NSFileManager *fileManager = [NSFileManager defaultManager];
     3     
     4     NSString *documentPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
     5     NSString *strPath = [documentPath stringByAppendingPathComponent:@"file.txt"];
     6     
     7     [fileManager createFileAtPath:strPath contents:[@"hello" dataUsingEncoding:NSUTF8StringEncoding] attributes:nil];
     8     NSLog(@"%@", strPath);
     9     
    10     
    11 #pragma mark - 使用NSFileHandle向文件里追加内容
    12     // 创建handle对象
    13     NSFileHandle *fileHandle = [NSFileHandle fileHandleForUpdatingAtPath:strPath];
    14     
    15     // 搜索到文本内容末尾
    16     [fileHandle seekToEndOfFile];
    17     
    18     
    19     // 创建数据
    20     NSString *appendStr = @"我是新添加的";
    21     NSData *data1 = [appendStr dataUsingEncoding:NSUTF8StringEncoding];
    22     
    23     // 将数据写入对接器
    24     [fileHandle writeData:data1];
    25     
    26     // 关闭对接器
    27     [fileHandle closeFile];
    28     
    29     
    30 #pragma mark - 定位数据
    31     
    32     //将“123456”写入file2.txt文件夹中
    33     NSString * content = @"123456";
    34     NSString * filePath2 = [documentPath stringByAppendingPathComponent:@"file2.txt"];
    35     [fileManager createFileAtPath:filePath2 contents:[content dataUsingEncoding:NSUTF8StringEncoding] attributes:nil];
    36     
    37     //通过fileHandle读取
    38     fileHandle = [NSFileHandle fileHandleForReadingAtPath:filePath2];
    39     //  获取数据长度
    40     NSUInteger length = [[fileHandle availableData] length];
    41     //  偏移量文件的一半
    42     [fileHandle seekToFileOffset:length/2.0];
    43     //从一半位置读取到最后
    44     NSData * data = [fileHandle readDataToEndOfFile];
    45     [fileHandle closeFile];
    46     //打印读取的字符串
    47     NSString * string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
    48     NSLog(@"%@",string);
  • 相关阅读:
    JVM运行时数据区--堆
    ES检索服务搜索结果高亮
    SpringBoot 设置编码UTF-8
    response.setContentType()的作用及参数
    将 vue.js 获取的 html 文本转化为纯文本
    SpringBoot读取properties文件配置项
    关于Java的编译执行与解释执行
    Java沙箱安全机制介绍【转载】
    JVM运行时数据区--本地方法栈
    JVM--先说本地方法接口
  • 原文地址:https://www.cnblogs.com/zhizunbao/p/5558331.html
Copyright © 2011-2022 走看看