我无法将这个简单的字符串写入文件。
请看我的代码。这是一个简单的笔尖,带有NSTextField
和一个按钮。日志显示我得到的字符串值很好,但它没有写。
//Quick.h
#import <Foundation/Foundation.h>
@interface Quick : NSObject
{
IBOutlet NSTextField * aString;
}
-(IBAction)wButton:(id)sender;
@end
//Quick.m
#import "Quick.h"
@implementation Quick
- (id)init
{
self = [super init];
if (self) {
// Initialization code here.
}
return self;
}
-(IBAction)wButton:(id)sender{
NSString * zStr = [aString stringValue];
NSString * path = @"data.txt";
NSLog(@"test String %@", zStr);
[zStr writeToFile:path
atomically:YES
encoding:NSASCIIStringEncoding
error:nil];
}
@end
答案 0 :(得分:3)
您必须提供最可能是Documents目录的完整文件路径,而不仅仅是文件名。
NSString *zStr = [aString stringValue];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *directory = [paths objectAtIndex:0];
NSString *fileName = @"data.txt";
NSString *filePath = [directory stringByAppendingPathComponent:fileName];
[zStr writeToFile:filePath atomically:YES encoding:NSASCIIStringEncoding error:nil];
答案 1 :(得分:2)
您需要提供绝对路径。
来自another answer的此代码为您提供了应用文档目录的路径:
[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];