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条理
·