文件管理
//沙盒的主⽬目录
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 完成");