<pre name="code" class="objc">//类目:增加NSString的类目,在.h文件操作
#import <Foundation/Foundation.h>
//类目是对原有类的增添新的方法
@interface NSString (FilePath)
//类目的声明方法
/*
@interface +原有类(类目名字)
@end
*/
/*
应用:
1:在类目中定义的方法会成为原始类的一部分,是对原有类的一个扩充,调用与其它方法相同。
2:在父类中添加类目,子类会继承该类目中的方法,但在子类中添加类目父类无法拥有这些方法。
3:作为子类的替换,可以通过类目向已有类中添加方法,与定义子类一样。
4:把类中的方法归类,可以更好地管理和维护类
*/
//获取沙盒路径 加号方法
+(NSString *)getFilePath;
//追加一个文件路径
+(NSString *)getFilePathWithString:(NSString *)aString;
//判断文件是否存在
+(NSString *)getExistsFilePathWithString:(NSString *)aString;
//减号方法
-(NSString *)getPath;
@end
</pre><pre name="code" class="objc">
</pre><pre name="code" class="objc">
//在.m文件中的操作
#import "NSString+FilePath.h"
@implementation NSString (FilePath)
//获取沙盒Documents路径
+(NSString *)getFilePath
{
NSString * filePath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
return filePath;
}
+(NSString *)getFilePathWithString:(NSString *)aString{ NSString * filePath = [[self getFilePath] stringByAppendingPathComponent:aString]; return filePath;}
+(NSString *)getExistsFilePathWithString:(NSString *)aString{ NSString * filePath = [self getFilePathWithString:aString]; if (![[NSFileManager defaultManager] fileExistsAtPath:filePath]) { if ([[NSFileManager defaultManager] createFileAtPath:filePath contents:nil attributes:nil]) { NSLog(@"创建成功"); } else { NSLog(@"创建失败"); } } else { NSLog(@"文件存在"); } return filePath;}
-(NSString *)getPath{ NSString * filePath = [NSString getFilePath]; filePath = [filePath stringByAppendingPathComponent:self]; return filePath;}@end
</pre><pre name="code" class="objc">
//在ViewController中实现方法(切记引入文件名)
- (void)viewDidLoad
{
[super viewDidLoad];
//获取沙盒路径
NSString * filePath1 = [NSString getFilePath];
NSLog(@"filePath1====%@",filePath1);
//获取文件路径并把字符串存入到文件中
NSString * filePath2 = [NSString getFilePathWithString:@"outMan.text"];
NSString * name = @"张三";
[name writeToFile:filePath2 atomically:YES encoding:NSUTF8StringEncoding error:nil];
NSLog(@"filePath2====%@",filePath2);
//判断文件是否存在
NSString * filePath3 = [NSString getExistsFilePathWithString:@"nihao.plist"];
NSLog(@"filePath3===%@",filePath3);
//获取文件路径
NSString * filePath4 = @"momoda.txt";
filePath4 = [filePath4 getPath];
NSString * name2 =@"今天天气不错";
[name2 writeToFile:filePath4 atomically:YES encoding:NSUTF8StringEncoding error:nil];
NSLog(@"filePath4===%@",filePath4);
}