我将如何在我的程序中创建一个新的文本文件以便我可以向其中写入内容?我已经了解如何编写内容,但我无法找到有关该主题的任何内容(任何易于理解的内容)。
问问题
3133 次
3 回答
3
使用此方法:
+ (id)stringWithContentsOfFile:(NSString *)path
usedEncoding:(NSStringEncoding *)enc
error:(NSError **)error
一个例子:
NSString* path = [[NSBundle mainBundle] pathForResource:@"Example"
ofType:@"txt"];
NSError *error = nil;
NSString* content = [NSString stringWithContentsOfFile:path
encoding:NSUTF8StringEncoding
error:&error];
if(error)
{
NSLog(@"ERROR while loading from file: %@", error);
}
写入文件以这种方式工作:使用此方法:
- (BOOL)writeToFile:(NSString *)path
atomically:(BOOL)useAuxiliaryFile
encoding:(NSStringEncoding)enc
error:(NSError **)error
例子:
[text writeToFile:path atomically:NO encoding:NSUTF8StringEncoding error:nil];
错误:
不能只写入捆绑路径。需要将其复制到文档目录。
-(void)copyBundleToDocuments
{
NSFileManager *fileManager = [NSFileManager defaultManager];
NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [documentPaths objectAtIndex:0];
NSString *documentPlistPath = [documentsDirectory stringByAppendingPathComponent:@"Example.txt"];
NSString *bundlePath = [[NSBundle mainBundle] bundlePath];
NSString *bundlePlistPath = [bundlePath stringByAppendingPathComponent:@"Example.txt"];
NSError *error;
BOOL success = [fileManager copyItemAtPath:bundlePlistPath toPath:documentPlistPath error:&error];
if (success)
{
[text writeToFile:documentPlistPath atomically:NO encoding:NSUTF8StringEncoding error:nil];
}
}
于 2013-06-01T11:39:22.950 回答
0
您可以使用 UITextView 编写文本
使用保存文件
[txtView.text writeToFile:filePath atomically:NO encoding:NSUTF8StringEncoding error:nil];
使用获取 TextFile 内容
NSString* content = [NSString stringWithContentsOfFile:filePath
encoding:NSUTF8StringEncoding
error:NULL];
于 2013-06-01T11:43:31.350 回答