文件管理和网络请求-7.28

文件管理
 
//沙盒的主⽬目录
NSString *homePath = NSHomeDirectory();

 

//获取沙盒下的Documents⽬目录 

NSString *library = [homePath  stringByAppendingPathComponent:@“Library"];

 

//获取沙盒下的Library⽬目录 

NSString *library = [homePat stringByAppendingPathComponent:@“Library"];

 

//获取沙盒下的tmp⽬目录

NSString *tmp = [homePath stringByAppendingPathComponent:@“tmp"];

 

int main(int argc, const charchar * argv[]) {  
    @autoreleasepool {  
          
        //演示路径  
        NSString *path = @"/Users/Apple/file.text";  
          
        //1.返回路径的组成部分  
        NSArray *array = [path pathComponents];  
        NSLog(@"%@",array);  
          
        //2.返回路径最后组成部分  
        NSString *str = [path lastPathComponent];  
        NSLog(@"%@",str);  
          
        //3.在原有的路径后面追加子目录  
        //这种方式需要添加/  
        [path stringByAppendingString:@"/appFile.text"];  
        //不需要添加/  
        [path stringByAppendingPathComponent:@"appFile.text"];  
          
        //4.删除最后的组成部分  
        str = [path stringByDeletingLastPathComponent];  
        //删除扩展名(.text被删除了)  
        str = [path stringByDeletingPathExtension];  
          
        //5.获取扩展名  
        str = [path pathExtension];  
          
        //6.添加扩展名  
        [path stringByAppendingPathExtension:@".jpg"];  
          
    }  
    return 0;  
}  

 //NSFileManager管理文件常用方法 

//创建⼀一个⽂文件并写⼊入数据
- (BOOL)createFileAtPath:(NSString *)path contents:(NSData *)data
attributes:(NSDictionary *)attr; //从⼀一个⽂文件中读取数据
- (NSData *)contentsAtPath:(NSString *)path;
//srcPath路径上的⽂文件移动到 dstPath 路径上, 注意这⾥里的路径是⽂文件路径⽽而不是⺫⽬目录。 - (BOOL)moveItemAtPath:(NSString *)srcPath toPath:(NSString *)dstPath
                 error:(NSError **)error;
//srcPath路径上的⽂文件复制到 dstPath 路径上
- (BOOL)copyItemAtPath:(NSString *)srcPath toPath:(NSString *)dstPath
                 error:(NSError **)error;
- (BOOL)fileExistsAtPath:(NSString *)path;
// 移除⽂文件
- (BOOL)removeItemAtPath:(NSString *)path error:(NSError **)error;

 //创建文件夹

NSString *filePaths = [homePath stringByAppendingPathComponent:@"Documents/file"];  
NSError *error;  
//需要传递一个创建失败的指针对象,记录创建失败的信息  
BOOL success1 = [manager createDirectoryAtPath:filePaths withIntermediateDirectories:YES attributes:nil error:&error];  
if(!success1){  
    NSLog(@"创建成功");  
}else{  
    NSLog(@"创建失败");  
}  

 //读取文件

//根据路径读取文件内容  
NSData *datas = [manager contentsAtPath:filePath];  
NSString *s = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];  
NSLog(@"%@",s)

 //文件的大小

NSFileManager *fileManager = [NSFileManager defaultManager];
//获得⽂文件的属性字典
NSDictionary *attrDic = [fileManager attributesOfItemAtPath:path error:nil];
//获取⽂文件⼤大⼩小
NSNumber *fileSize = [attrDic objectForKey:NSFileSize];


 

//文件的移除

NSString *targetPath = [homePath stringByAppendingPathComponent:@"Documents/file/file2.text"];  
BOOL sucess2 = [manager moveItemAtPath:filePath toPath:targetPath error:nil];  
if(sucess2) {  
    NSLog(@"移动成功");  
}else{  
    NSLog(@"移动失败");  
}  


BOOL isExist = [manager fileExistsAtPath:filePath];//判断文件是否存在  
if(isExist){  
    BOOL sucess4 = [manager removeItemAtPath:filePath error:nil];  
    if(sucess4){  
        //删除成功  
    }else{  
        //删除失败  
    }  
}  

 

网络请求:

1、同步连接
同步连接是iOS中网络连接的一种方式,当请求的数据量小时,同步连接是一个很好的选择。UI“冻结”是它的一个缺点。
同步连接步骤:
//新建一个URL

 NSURL *url = [NSURL URLWithString:@"http://baidu.com"];

//创建一个请求

NSURLRequest *req=[NSURLRequest requestWithURL:url];

//发起同步连接

 NSData * data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];

//打印字符串信息

NSString * str = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
    NSLog(@"str = %@",str)

 

2.异步连接
异步连接是iOS最常用的一种网络连接方式。适应传输数据量大,在连接过程中UI不“冻结”。
异步连接步骤:
//初始化一个URL

 NSURL *url = [NSURL URLWithString:@"http://baidu.com"];

//创建一个请求

 NSURLRequest * req = [NSURLRequest requestWithURL:url];

//发起异步连接

 [NSURLConnection connectionWithRequest:request delegate:self];
    //其他的事情交给代理方法去完成
    NSLog(@"NSURLConnection 完成");

 

posted @ 2016-07-28 21:17  我的蜡笔小新  阅读(135)  评论(0编辑  收藏  举报