我正在制作一个OX Cocoa应用程序,我希望能够使用按钮按下应用程序来读写文本文件。这些文本文件应该保存在/ Library/Application Support/AppName中,但是我无法让我的应用程序从那里读取任何内容。它可以写入文件夹,但不会读取它写入的内容,即使我可以在查找器中看到文件。如何从/库/应用程序支持/文件夹中读取?
这里是我使用的成功写入到该文件夹中的代码。
NSString *text = editor.string;
NSString *path = @"/Library/Application Support/";
NSMutableString *mu = [[NSMutableString stringWithString:path] init];
[mu insertString:FileName.stringValue atIndex:mu.length];
[mu insertString:@".txt" atIndex:mu.length];
path = [mu copy];
[text writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:NULL];
这是我使用(和失败)从文本文件中读取的代码。
NSArray *path = [[NSBundle mainBundle] pathsForResourcesOfType:@"txt" inDirectory:@"/Library/Application Support/"];
NSString *output = @"";
NSMutableString *mu = [[NSMutableString stringWithString:output] init];
for (int i = 0; i < [path count]; i++) {
NSString *text = [NSString stringWithContentsOfFile:path[i] encoding:NSUTF8StringEncoding error:NULL];
[mu insertString:text atIndex:mu.length];
[mu insertString:@"\n" atIndex:mu.length];
}
[textView setString:mu];
我能纠正的任何提示都会超级有用,我有点卡在这里。
编辑:使用您输入我已经更新了我的代码如下:
NSString *fileLocation = @"~/Library/Application Support/";
NSArray *text = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:fileLocation error:nil];
NSString *output = @"";
NSMutableString *mu = [[NSMutableString stringWithString:output] init];
for (int i = 0; i < [text count]; i++) {
[mu insertString:text[i] atIndex:mu.length];
[mu insertString:@"\n" atIndex:mu.length];
}
[textView setString:mu];
但是从文件的文本仍然没有出现。
在您的原始代码中编写您指向/ Library/Application Support的文件。你有没有改变它以匹配你在这里使用的〜/ Library/Application Support? – 2013-02-14 22:07:30
是否有所作为? – 2013-02-14 22:09:01
是的。 〜扩展为/ Users/*用户名*/Library/Application Support,不带〜进入全局/库/应用程序支持文件夹。 – 2013-02-14 22:09:52