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

    文件管理器:

     1 #import "ViewController.h"
     2 
     3 @interface ViewController ()
     4 
     5 @end
     6 
     7 @implementation ViewController
     8 
     9 - (void)viewDidLoad {
    10     [super viewDidLoad];
    11     // Do any additional setup after loading the view, typically from a nib.
    12     
    13 #pragma mark - 文件管理器 创建
    14     //创建对象
    15     NSFileManager *manager = [NSFileManager defaultManager];
    16     
    17     //创建路径
    18     NSString *path = NSHomeDirectory();
    19   
    20     path = [path stringByAppendingPathComponent:@"test/myApp"];
    21     NSLog(@"path = %@", path);
    22     BOOL success = [manager createDirectoryAtPath:path withIntermediateDirectories:YES attributes:nil error:nil];
    23     if (success) {
    24         NSLog(@"文件创建成功");
    25     }else {
    26         NSLog(@"文件创建失败");
    27     }
    28     
    29     NSString *path2 = [path stringByAppendingPathComponent:@"test2/myApp"];
    30     NSLog(@"======%@", path2);
    31     [manager createDirectoryAtPath:path2 withIntermediateDirectories:YES attributes:nil error:nil];
    32     
    33 #pragma mark - 文件管理器 添加
    34     //向文件夹添加字符串
    35     path = [path stringByAppendingPathComponent:@"zifuchuan.txt"];
    36    
    37     //初始化一个字符串
    38     NSString *string = @"今天是个号入职";
    39    BOOL success1 = [string writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:nil];
    40     if (success1) {
    41         NSLog(@"成功");
    42          NSLog(@"path=========%@", path);
    43     }else {
    44         NSLog(@"失败");
    45     }
    46     
    47     path = [path2 stringByAppendingPathComponent:@"new.text"];
    48     NSString *newStr = @"随便写点吧";
    49     [newStr writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:nil];
    50     NSLog(@"-------%@", path);
    51     
    52 #pragma mark - 文件管理器 删除
    53     [manager removeItemAtPath:path error:nil];//删除的是该文件夹下的文档,该文件夹不能删除
    54 #pragma mark - 文件管理器  移动、copy
    55     
    56     //Documents路径
    57     NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
    58     
    59     //创建一个文件夹     stringByDeletingLastPathComponent删除最后一部分内容
    60     NSString *copyPath = [documentPath stringByAppendingPathComponent:@"备份/text.txt"];
    61     [manager createDirectoryAtPath:[copyPath stringByDeletingLastPathComponent] withIntermediateDirectories:YES attributes:nil error:nil];
    62     NSString *str = @"往里面写内容的时候才有txt文本";
    63     NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];//字符串转换为data类型
    64     [manager createFileAtPath:copyPath contents:data attributes:nil];
    65     NSLog(@"-=-=-=-=-=%@", copyPath);
    66     
    67    //创建一个toPath  将copyPath中的内容移动/复制到toPath
    68     NSString *toPath = [documentPath stringByAppendingPathComponent:@"hello/wode.txt"];
    69     
    70     [manager createDirectoryAtPath:[toPath stringByDeletingLastPathComponent] withIntermediateDirectories:YES attributes:nil error:nil];
    71     //移动
    72     //[manager moveItemAtPath:copyPath toPath:toPath error:nil];
    73     NSLog(@"topath = %@", toPath);
    74     //复制
    75     [manager copyItemAtPath:copyPath toPath:toPath error:nil];
    76     
    77 }
    78 
    79 @end

    文件对接器:

     1 @interface ViewController ()
     2 
     3 @end
     4 
     5 @implementation ViewController
     6 
     7 - (void)viewDidLoad {
     8     [super viewDidLoad];
     9     // Do any additional setup after loading the view, typically from a nib.
    10 #pragma mark - 使用NSFileMessage创建文件
    11     NSFileManager *fileManager = [NSFileManager defaultManager];
    12     NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];
    13     NSString *strPath = [documentPath stringByAppendingPathComponent:@"file.txt"];
    14     
    15     [fileManager createFileAtPath:strPath contents:[@"hello" dataUsingEncoding:NSUTF8StringEncoding] attributes:nil];
    16     
    17     NSLog(@"%@", strPath);
    18     
    19 #pragma mark - 使用NSFileHandle向文件里追加内容
    20     //创建handle对象
    21     NSFileHandle *fileHandle = [NSFileHandle fileHandleForUpdatingAtPath:strPath];
    22     //搜索到文本内容末尾
    23     [fileHandle seekToEndOfFile];
    24     
    25     NSString *appendStr = @"我是handle的内容";
    26     [fileHandle writeData:[appendStr dataUsingEncoding:NSUTF8StringEncoding]];
    27     
    28     [fileHandle closeFile];
    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);
    49     
    50 }
    51 
    52 - (void)didReceiveMemoryWarning {
    53     [super didReceiveMemoryWarning];
    54     // Dispose of any resources that can be recreated.
    55 }
    56 
    57 @end
  • 相关阅读:
    【题解】NOIP2016换教室
    【题解】平面最近点对(加强版)
    [atcoder002E] Candy Piles [博弈论]
    [AGC002D] Stamp Rally [并查集+整体二分]
    [ACG001E] BBQ hard [dp]
    [BJOI2006][bzoj1001] 狼抓兔子 [最小割]
    [usaco jan 09] 安全路径 travel [最短路径树]
    [usaco jan 09] 气象牛 baric [dp]
    [poj1741] tree [点分治]
    [NOI2009] 植物大战僵尸 [网络流]
  • 原文地址:https://www.cnblogs.com/bdlfbj/p/5555894.html
Copyright © 2011-2022 走看看