如何确保nsfilemanager创建文件成功

如何确保nsfilemanager创建文件成功,第1张

可以用iFile

删除目录下所有文件

1, Cydia 安装文件管理插件

2,管理文件插件iFile

这个插件可以让用户将在设备管理和查看整个 iOS 设备的系统文件。

objective-c通过使用NSFileManager类来管理和 *** 作文件、目录,NSFileManager,文件或目录是使用文件的路径名的唯一标示。每个路径名都是一个NSString对象。 NSFileManager对象通过defaultManager方法来创建实例 列如: NSFileManager *fm = [NSFi...

iOS文件管理系统NSFileManager使用详解

1,找到自己的程序的目录: NSHomeDirectory() ,目录结构为:

---Documents/

---"YourAppName.app"

---Library/

---自己创建的文件夹 或 "自己创建的文件"

---tmp/

所以要找到自己程序的Documents文件夹,可以使用[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"]

也可以使用:

NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)

NSString *string=[paths objectAtIndex:0]

两者功能应该一样。

2,文件一些主要 *** 作可以通过NSFileManage 来 *** 作,可以通过 [NSFileManger defaultManger] 得到它得实例。

3,使用[aNSString stringByAppendingPathCompnent:aNSString] 来创建文件路径

4,tmp 目录我们可以在里面写入一些程序运行时需要用得数据,里面写入得数据在程序退出后会没有。

可以通过NSTemporaryDirectory()获得其路径。

5,NSFileManager的一些相关 *** 作:

1)创建文件夹:

NSString *myDirectory = [documentDirectory stringByAppendingPathComponent:@"test"]

BOOL ok = [fileManage createDirectoryAtPath:myDirectory withIntermediateDirectories:YES attributes:nil error:&error]

2)取得一个目录下得所有文件名:(如上面的myDirectory)可用

NSArray *file = [fileManager subpathsOfDirectoryAtPath: myDirectory error:nil]

NSArray *files = [fileManager subpathsAtPath: myDirectory ]

NSArray *files=[fileManager contentsOfDirectoryAtPath:documentDirectory error:&error]

3)读取某个文件:

NSData *data = [fileManger contentsAtPath:myFilePath]//myFilePath是包含完整路径的文件名

或直接用NSData 的类方法:

NSData *data = [NSData dataWithContentOfPath:myFilePath]

4)保存某个文件:

可以用 NSFileManager的

- (BOOL)createFileAtPath:(NSString *)path contents:(NSData *)data attributes:(NSDictionary *)attr

或 NSData 的

- (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile

- (BOOL)writeToFile:(NSString *)path options:(NSUInteger)writeOptionsMask error:(NSError **)errorPtr

5)字符串写入文件:

[str writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:&error]

[NSString stringWithContentsOfFile...]

6)移动文件:

if ([fileMgr moveItemAtPath:filePath toPath:filePath2 error:&error] != YES)

7)删除文件:

if ([fileMgr removeItemAtPath:filePath2 error:&error] != YES)

8)判断是否是文件夹:

BOOL isDir = NO

[fileManager fileExistsAtPath:path isDirectory:(&isDir)]

if (isDir) { ...}

9)以下代码用于获取本机上的文件资源或图片

获取文本:

NSFileManager *fileManager=[NSFileManager defaultManager]

NSData *data=[fileManager contentsAtPath:@"/Developer/Documentation/wxWidgets/docs/lgpl.txt"]

NSString *string=[[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding]

NSLog(@"%@",string)

获取图片:

NSData *myData=[fileManager contentsAtPath:@"/Users/ruby/Desktop/Photo1.jpg"]

UIImage *myImage=[UIImage imageWithData:myData]

imageView.image=myImage


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11861815.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存