文件操作
NSFileManager
常见的NSFileManager文件的方法:
-(BOOL)contentsAtPath:path 从文件中读取数据
-(BOOL)createFileAtPath:path contents:(BOOL)data attributes:attr 向一个文件写入数据
-(BOOL)removeFileAtPath: path handler: handler 删除一个文件
-(BOOL)movePath: from toPath: to handler: handler 重命名或移动一个文件(to可能已经存在)
-(BOOL)copyPath:from toPath:to handler: handler 复制文件 (to不能存在)
-(BOOL)contentsEqualAtPath:path1 andPath:path2 比较两个文件的内容
-(BOOL)fileExistsAtPath:path 测试文件是否存在
-(BOOL)isReadablefileAtPath:path 测试文件是否存在,且是否能执行读操作
-(BOOL)isWritablefileAtPath:path 测试文件是否存在,且是否能执行写操作
-(NSDictionary *)fileAttributesAtPath:path traverseLink:(BOOL)flag 获取文件的属性
-(BOOL)changeFileAttributes:attr atPath:path 更改文件的属性

NSFileManager对象的创建 :
NSFileManager *fm;
fm = [NSFileManager defaultManager];
NSDictionary *attr =[fm fileAttributesAtPath: fname traverseLink: NO] ; //文件属性
NSLog(@"file size is:%i bytes ",[[attr objectForKey:NSFileSize] intValue]);
NSData *data =[fm contentsAtPath:@"filename"];//文件内容

常见的NSFileManager目录的方法:
-(NSString *)currentDirectoryPath 获取当前目录
-(BOOL)changeCurrentDirectoryPath:path 更改当前目录
-(BOOL)copyPath:from toPath:to handler:handler 复制目录结构,to不能已经存在
-(BOOL)createDirectoryAtPath:path attributes:attr 创建目录
-(BOOL)fileExistsAtPath:path isDirectory:(BOOL *)flag 测试文件是否为目录 (flag存储结构yes/no)
-(NSArray *)contentsOfDirectoryAtPath:path 列出目录的内容
-(NSDirectoryEnumerator *)enumeratorAtPath:path 枚举目录的内容
-(BOOL)removeFileAtPath:path handler:handler 删除空目录
-(BOOL)movePath:from toPath:to handler:handler 重命名或移动一个目录,to不能是已经存在的

path= [fm currentDirectoryPath] ;
NSArray *dirarray;
NSDirectoryEnumerator *direnu;

direnu = [fm enumeratorAtPath:path];
NSLog(@"contents of %@\n",path);
BOOL flag;
while((path = [direnu nextObject])!=nil)
{
NSLog(@"%@ ",path);
[fm fileExistsAtPath:path isDirectory:&flag];
if(flag == YES)
[direnu skipDescendents]; //跳过子目录
}
path= [fm currentDirectoryPath] ;
dirarray = [fm contentsOfDirectoryAtPath:path];
NSLog(@"%@ ",dirarray);

常用路径工具函数
NSString * NSUserName(); 返回当前用户的登录名
NSString * NSFullUserName(); 返回当前用户的完整用户名
NSString * NSHomeDirectory(); 返回当前用户主目录的路径
NSString * NSHomeDirectoryForUser(); 返回用户user的主目录
NSString * NSTemporaryDirectory(); 返回可用于创建临时文件的路径目录

常用路径工具方法
-(NSString *) pathWithComponents:components 根据components中元素构造有效路径
-(NSArray *)pathComponents 析构路径,获取路径的各个部分
-(NSString *)lastPathComponent 提取路径的最后一个组成部分
-(NSString *)pathExtension 路径扩展名
-(NSString *)stringByAppendingPathComponent:path 将path添加到现有路径末尾
-(NSString *)stringByAppendingPathExtension:ext 将拓展名添加的路径最后一个组成部分
-(NSString *)stringByDeletingPathComponent 删除路径的最后一个部分
-(NSString *)stringByDeletingPathExtension 删除路径的最后一个部分 的扩展名
-(NSString *)stringByExpandingTildeInPath 将路径中的代字符扩展成用户主目录(~)或指定用户主目录(~user)
-(NSString *)stringByResolvingSymlinksInPath 尝试解析路径中的符号链接
-(NSString *)stringByStandardizingPath 通过尝试解析~、..、.、和符号链接来标准化路径
-
使用路径NSPathUtilities.h
tempdir = NSTemporaryDirectory(); 临时文件的目录名
path = [fm currentDirectoryPath];
[path lastPathComponent]; 从路径中提取最后一个文件名
fullpath = [path stringByAppendingPathComponent:fname];将文件名附加到路劲的末尾
extenson = [fullpath pathExtension]; 路径名的文件扩展名
homedir = NSHomeDirectory();用户的主目录
component = [homedir pathComponents]; 路径的每个部分

NSProcessInfo类:允许你设置或检索正在运行的应用程序的各种类型信息
(NSProcessInfo *)processInfo 返回当前进程的信息
-(NSArray*)arguments 以NSString对象数字的形式返回当前进程的参数
-(NSDictionary *)environment 返回变量/值对词典。描述当前的环境变量
-(int)processIdentity 返回进程标识
-(NSString *)processName 返回进程名称
-(NSString *)globallyUniqueString 每次调用该方法都会返回不同的单值字符串,可以用这个字符串生成单值临时文件名
-(NSString *)hostname 返回主机系统的名称
-(unsigned int)operatingSystem 返回表示操作系统的数字
-(NSString *)operatingSystemName 返回操作系统名称
-(NSString *)operatingSystemVersionString 返回操作系统当前版本
-(void)setProcessName:(NSString *)name 将当前进程名称设置为name
过滤数组中的文件类型 : [fileList pathsMatchingExtensions:[NSArrayarrayWithObject:@"jpg"]];
///////////////////////////////////////////////////////////////////////////////////////////////////////////
基本文件操作NSFileHandle
常用NSFileHandle方法
(NSFileHandle *)fileHandleForReadingAtPath:path 打开一个文件准备读取
(NSFileHandle *)fileHandleForWritingAtPath:path 打开一个文件准备写入
(NSFileHandle *)fileHandleForUpdatingAtPath:path 打开一个文件准备更新(读取和写入)
-(NSData *)availableData 从设备或通道返回可用数据
-(NSData *)readDataToEndOfFile 读取其余的数据直到文件末尾(最多UINT_MAX字节)
-(NSData *)readDataOfLength:(unsigned int)bytes 从文件读取指定数目bytes的内容
-(void)writeData:data 将data写入文件
-(unsigned long long) offsetInFile 获取当前文件的偏移量
-(void)seekToFileOffset:offset 设置当前文件的偏移量
-(unsigned long long) seekToEndOfFile 将当前文件的偏移量定位的文件末尾
-(void)truncateFileAtOffset:offset 将文件的长度设置为offset字节
-(void)closeFile 关闭文件

注:文章内容是看到 pengyingh 这位园友写的  认为写的挺全面 所以粘贴到这里保存一下不时看看 而非原创

NSFileHandle 和 NSFileManager的一些用法的更多相关文章

  1. OC中NSFileManager

    NSFileManager介绍 NSFileManager是用来管理文件系统的 它可以用来进行常见的文件\文件夹操作(拷贝.剪切.创建等) NSFileManager使用了单例模式singleton ...

  2. OC中文件读取类(NSFileHandle)介绍和常用使用方法

    NSFileHandle 1.NSFileManager类主要对于文件的操作(删除,修改,移动,赋值等等) //判断是否有 tagetPath 文件路径,没有就创建 NSFileManager *fi ...

  3. iOS中的上传、下载流程心得

    访问相册 1.  判断资源库是否有效 2.  创建imagePickerController 设置代理 弹出视图控制器 3.  实现协议方法 > iOS10 访问系统相册需要在info.plis ...

  4. iOS - 文件操作(File Operating)

    1. 沙盒 & NSData /*_______________________________获取沙盒路径_________________________________________* ...

  5. 高级UIKit-03(NSFileManager、NSFileHandle)

    fileManager文件管理器 [day04_1_FileManager_Search] :查找文件 fileManager有一个方法可以判断文件是否是文件夹, fileExistsAtPath:i ...

  6. 【原】iOS学习之文件管理器(NSFileManager)和文件对接器(NSFileHandle)

    1.文件管理器(NSFileManager) 1> 主要作用及功能方法 主要作用:此类主要是对文件进行的操作(创建/删除/改名等)以及文件信息的获取. 功能方法: 2> 创建文件夹 创建所 ...

  7. ios NSFileManager和NSFileHandle(附:获取文件大小 )

    转自 http://blog.csdn.net/zhibudefeng/article/details/7795946 //file 文件操作 NSFileManager  常见的NSFileMana ...

  8. UI进阶 文件管理器(NSFileManager)文件对接器(NSFileHandle)

    一.文件管理器与文件连接器之间的区别 文件管理器(NSFileManager) 此类主要是对文件进行的操作(创建/删除/改名等)以及文件信息的获取. 文件连接器(NSFileHandle) 此类主要是 ...

  9. OC语言--NSFileManager& NSFileHandle

    1.关于文件的介绍 ->什么是文件: 文件概念, 广义文件. 狭义文件(磁盘文件). 文件常见的使用操作(可用命令行演示文件操作的使用场景). ->什么是路径: 简单来说就是,在系统中,要 ...

随机推荐

  1. 【解决】应用程序无法正常启动(0xc000007b)。请单击“确定”关闭应用程序。

    换了SSD硬盘,装了Windows 7 SP1 x64的系统.用了一段时间,突然一天有些软件打不开了.弹出下面的提示 应用程序无法正常启动(0xc000007b).请单击“确定”关闭应用程序.第一时间 ...

  2. android代码设置、打开WLAN wifi热点及热点的连接

    其实创建热点很简单,先获取到wifi的服务,再配置热点名称.密码等等,然后再通过反射打开它就OK了. 下面我们看看创建热点的代码实现: 这一段是开启WLAN热点,并可以指定好它的热点名和密码 支行后, ...

  3. [Jquery] 获取地址栏参数的方法 备忘

    <script type="text/javascript"> (function ($) { $.getUrlParam = function (name) { va ...

  4. NDIS IM 驱动那些事情

    最近不知道为什么开始学习windows NDIS驱动开发,用的是寒江独钓的例子,其实他的改的代码也就一点点,说的有用的东西也就那么多,不过还是感谢他出了这么一本书,不然这真的就没有一本稍微好一点的书籍 ...

  5. 刷机nexus4

    官方rom下载地址:https://developers.google.com/android/nexus/images?hl=zh-CN 刷机教程:http://jingyan.baidu.com/ ...

  6. 页面所有的button绑定同一个事件,点击不同的button赋值不同

    <script type="text/javascript"> $(function(){ $("input[type='button']").cl ...

  7. iOS开发——返回特定的控制器

    用导航控制器返回到上一页和返回到根控制器有其自带方法. 返回到特定的控制器的核心代码: popToViewController用法 方式一,不推荐[self.navigationController ...

  8. nodejs包管理

    包管理 :npm cnpm yarn Node Package Manager node的包管理工具 cls清除控制台 npm install jquery 下载依赖包 就自动下载最新版本的jq np ...

  9. c#基础学习笔记-----------委托事件

    这里有一个比较简单的委托实例应用(跨窗体操作控件) http://blog.csdn.net/bdstjk/article/details/7004035 还有一个比较详细的介绍并深入理解委托事件的讲 ...

  10. windows下redis 开机自启动

    1,在redis的目录下执行(执行后就作为windows服务了) redis-server --service-install redis.windows.conf 2,安装好后需要手动启动redis ...