NSFileManager :
管理文件和目录,创建删除移动复制文件,
NSFileHandle:
读取文件内容
NSURL:
读取网络资源
NSBundle:
读取项目内部资源
NSData* data=[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://blog.csdn.net/qingchunweiliang?viewmode=contents"]]; NSString* s=[[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding]; NSLog(@"%@",s); s=[[NSString alloc]initWithContentsOfURL:[NSURL URLWithString:@"http://blog.csdn.net/qingchunweiliang?viewmode=contents"] encoding:NSUTF8StringEncoding error:nil]; NSLog(@"%@",s);
2015-10-07 16:09:29.910 testt[1316:64231] <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <script type="text/javascript" src="http://c.csdnimg.cn/pubfooter/js/tracking.js" charset="utf-8"></script> <script type="text/javascript"> var protocol = window.location.protocol; document.write('<script type="text/javascript" src="' + protocol + '//csdnimg.cn/pubfooter/js/repoAddr2.js?v=' + Math.random() + '"></' + 'script>'); </script> <script id="allmobilize" charset="utf-8" src="http://a.yunshipei.com/46aae4d1e2371e4aa769798941cef698/allmobilize.min.js"></script> <meta http-equiv="Cache-Control" content="no-siteapp" /><link rel="alternate" media="handheld" href="#" /> <title>青春微凉
Mac OS X 路径
相对路径:不以斜线开头的路径都是相对路径。 例: abc.m 表示当前路径下的abc.m文件
绝对路径:以斜线开头的路径,绝对路径是唯一的。例: /User/abc 代表跟目录下的User目录下的abc子目录
/////////////
~ 代表当前用户的home目录,例 :当前用户为abc,则~就代表 /Users/abc 目录。 ~xyz 表示xyz用户目录 即 /Users/xyz
. 代表当前目录
.. 代表当前目录的上一级目录
NSFileManager 用例
NSFileManager* fm=[NSFileManager defaultManager]; [fm createDirectoryAtPath:@"xyz/abc" withIntermediateDirectories:YES //如果父目录不存在则创建父目录 attributes:nil error:nil]; [fm removeItemAtPath:@"xtz" error:nil]; [fm createFileAtPath:@"1.txt" contents:[@"abc" dataUsingEncoding:NSUTF8StringEncoding] attributes:nil]; [fm copyItemAtPath:@"1.txt" toPath:@"2.txt" error:nil]; //获取指定路径下的文件和目录 NSLog(@"当前目录下文件"); NSArray*arr=[fm contentsOfDirectoryAtPath:@"." error:nil]; for (NSString* s in arr) { NSLog(@"%@",s); } NSLog(@"\n\n是否存在 %d", [fm fileExistsAtPath:@"1.txt" ] ); NSLog(@"是否可读 %d", [fm isReadableFileAtPath:@"1.txt" ] ); NSDictionary* dic=[fm attributesOfItemAtPath:@"1.txt" error:nil]; NSLog(@"文件创建日期 %@" , [dic fileCreationDate] );
打印如下
2015-10-07 17:02:56.717 testt[1654:80464] 当前目录下文件 2015-10-07 17:02:56.718 testt[1654:80464] 1.txt 2015-10-07 17:02:56.719 testt[1654:80464] 2.txt 2015-10-07 17:02:56.719 testt[1654:80464] testt 2015-10-07 17:02:56.719 testt[1654:80464] xyz 2015-10-07 17:02:56.719 testt[1654:80464] 是否存在 1 2015-10-07 17:02:56.719 testt[1654:80464] 是否可读 1 2015-10-07 17:02:56.728 testt[1654:80464] 文件创建日期 2015-10-07 09:02:56 +0000
顺便吐糟一下oc, 职责相当混乱 NSDictionary本应该作为通用的映射处理类,却掺杂进了文件相关的操作, NSString本应该只是负责字符串相关的操作,去掺杂进了网络和文件读写的操作,这点就不如java条理
·