OC中NSFileManager

NSFileManager介绍

1 NSFileManager是用来管理文件系统的
2 它可以用来进行常见的文件\文件夹操作(拷贝、剪切、创建等)
3
4 NSFileManager使用了单例模式singleton
5 使用defaultManager方法可以获得那个单例对象
6 [NSFileManager defaultManager]

NSFileManager的基本用法

 1 path这个文件或文件夹(目录)是否存在
 2 -(BOOL)fileExistsAtPath:(NSString *)path;
 3 path这个文件或文件夹是否存在,isDirectory代表是否为文件夹
 4 -(BOOL)fileExistsAtPath:(NSString *)path isDirectory:(BOOL *) isDirectory;
 5 path这个文件或文件夹是否可读
 6 -(BOOL)isReadableFileAtPath:(NSString *)path;
 7 path这个文件或文件夹是否可写
 8 -(BOOL)isWritableFileAtPath:(NSString *)path;
 9 path这个文件或文件夹是否可删除
10 -(BOOL)isDeletableFileAtPath:(NSString *)path;
11
12 注意:系统目录不允许删除

  获得path这个文件/文件夹的属性  -(NSDictionary *) attributesOfItemAtPaht:(NSString *) paht error:(NSError **)error;    获得子目录信息(包括后代元素路径信息)  NSArray *paths = [ NSFileManager subpathsAtPath:path];    获取path的所有子路径(后代路径),上面两个方法功能一样  -(NSArray *)subpathsOfDirectoryAtPaht:(NSString *)path error:(NSError **)error;

  获得path的当前子路径(path下地所有直接子内容,path必须是一个目录)  -(NSArray *) contentsOfDirectoryAtPath:(NSString *)path error:(NSError **)error;    获取文件内容  -(NSObject *)contentsAtPaht :(NSString *)path;  

NSFileManager对文件的 创建 移动

 1 只能创建文件夹(createIntermediates为YES代表自动创建中间的文件夹)
 2 注意:如果要创建的目录已经存在,则本次创建失败
 3 -(BOOL)createDirectoryAtPath:(NSString *)path withIntermediateDirectories:(BOOL)createIntermediates attributes:(NSDictionary *)attributes error:(NSError **)error;
 4
 5 文件的拷贝,如果目标目录已经存在同名文件,则无法拷贝
 6 -(BOOL)copyItemAtPath:(NSString *) srcPath toPath:(NSString *)dstPath error :(NSError **)error;
 7 文件的移动
 8 -(BOOL)moveItemAtPath:(NSString *) srcPath toPath:(NSString *)dstPath error :(NSError **)error;
 9 删除文件
10 -(BOOL) removeItemAtPath:(NSString *)path error:(NSError **) error;
11
12 创建文件:
13 把字符串转换为NSData,(NSData是用来存储二进制字节数据的)
14 NSData *data =[s1 dataUsingEncoding:NSUTF8String Encoding];
15 -(BOOL)createFileAtPath:(NSString *)path contents:(NSData *)data attributes:(NSDictionary *)attr;
时间: 2025-01-25 03:59:52

OC中NSFileManager的相关文章

OC中NSFileManager类 和 copy一些用法

一:NSFileManager的使用 1, 概念:用来管理文件系统,它可以用来进行常见的文件\文件夹的操作(拷贝.剪切.创建等) NSFileManager 使用了单例模式singleton 使用defaultManager方法可以获取那个单例对象 2, 1>常见判断 //1,判断文件或文件夹是否存放 // NSFileManager *fileManager = [NSFileManager defaultManager]; // NSString *path = @"/Users/ll

OC中NSFilemanager创建文件和文件夹

#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) {     @autoreleasepool {        //1.获取文件管理器         NSFileManager *fm = [NSFileManager defaultManager];                  //检测指定路径下的文件/目录  是否存在                  BOOL isExist = 

关于OC中直接打印结构体,点(CGRect,CGSize,CGPoint,UIOffset)等数据类型

关于OC直接打印结构体,点(CGRect,CGSize,CGPoint,UIOffset)等数据类型,我们完全可以把其转换为OC对象来进项打印调试,而不必对结构体中的成员变量进行打印.就好比我们可以使用NSStringFromCGRect(CGRect rect)来直接打印一个结构体,其他打印可以参考以下内容 UIKIT_EXTERN NSString *NSStringFromCGPoint(CGPoint point); UIKIT_EXTERN NSString *NSStringFrom

【学习ios之路:Objective-C】OC中常用的系统排序方法

①.OC中常用排序方法: 1).不可变数组 - (NSArray *)sortedArrayUsingSelector:(SEL)comparator; - (NSArray *)sortedArrayUsingComparator:(NSComparator)cmptr; 2)可变数组 - (void)sortUsingSelector:(SEL)comparator; - (void)sortUsingComparator:(NSComparator)cmptr; 3).字典排序 - (NS

关于void*类型的用法(相当于OC中的id类型)

关于void*类型的用法(相当于OC中的id类型) 1.C++语言在对于void* 类型的使用很特别,因为void* 可以间接引用任何其他数据类型的指针,比如int*.float*甚至抽象数据类型的指针,而且可以从void* 强制转换为任何其他数据类型的指针,所以使用起来有时候会比较危险.如果开始将一个void*的指针间接引用一个float*的指针,然后将这个void*指针强制转化为一个int*类型的指针,编译器不会给出错误甚至警告,但是输出的数据却匪夷所思,如果再强制转换会float*则不会出

智能指针 与 oc中的指针

智能指针 与 oc中的指针 智能指针的原理及实现 当类中有指针成员时,一般有两种方式来管理指针成员:一是采用值型的方式管理,每个类对象都保留一份指针指向的对象的拷贝:另一种更优雅的方式是使用智能指针,从而实现指针指向的对象的共享. 智能指针(smart pointer)的一种通用实现技术是使用引用计数(reference count).智能指针类将一个计数器与类指向的对象相关联,引用计数跟踪该类有多少个对象共享同一指针. 每次创建类的新对象时,初始化指针并将引用计数置为1:当对象作为另一对象的副

NS前缀\OC中的注释\访问OC原文件、C原文件中的函数

///////////////////////////////////////// //////////////////////////////////////// NS前缀 NS来自于NeXTStep的一个软件 NeXT Software OC中不支持命名空间(namespace) NS是为了避免命名冲突而给的前缀 看到NS前缀就知道是Cocoa中的系统类的名称 "@"的使用方法 1.@""这个符号表示将C中的字符串转化为OC中的字符串对象 2.@符号 OC中的大

OC中类别、扩展、协议与委托

类别(category)--通过使用类别,我们可以动态地为现有的类添加新方法,而且可以将类定义模块化地分不到多个相关文件中.通常只在类别中定义方法. 类别,接口部分的定义,通常该文件命名为已有"类+类别名.h" @interface 已有类 (类别名) //.......方法实现 @end 例如,考虑为NSNumber增加一个类别,则接口部分代码如下 <p style="margin-top: 0px; margin-bottom: 0px; font-family:

OC中self的用法

self :用法 OC中self可代表类和对象 Self是一个指针,谁调用了当前方法,self就指向谁 [出现在对象方法中,就代表着当前对象,出现在类方法中,就代表着当前类] Self的用途: (1)可以利用self->成员变量名访问当前对象内部的成员变量(仅在对象方法中) (2)[self 方法名]:可以调用其他的对象方法或者是类方法