Как открыть текстовый файл с помощью nsfilehandle
-
28-10-2019 - |
Вопрос
Я пытаюсь открыть небольшой текстовый файл, чтобы проверить некоторые функции NSFileHandle в файле. Однако я не могу понять, как это сделать, если бы вы могли сказать мне, что мне не хватает, это было бы здорово.
//.час
@interface MainViewController : UIViewController <FlipsideViewControllerDelegate> {
NSFileHandle *nCode;
}
@property (nonatomic, retain) IBOutlet NSFileHandle *nCode;
- (IBAction)showInfo:(id)sender;
//check for code
- (void)fetchCode:(id)sender; //this function is attached to a button in the .nib
@end
//.m
- (void)fetchCode:(id)sender{
nCode = [NSFileHandle fileHandleForReadingAtPath:@"nCode01.txt"];
if (nCode == nil) {
NSLog (@"Open of nCode for reading failed\n");
return;
}
[nCode closeFile];
}
Все, что я здесь делаю, - это пытаться открыть файл, однако каждый раз, когда я нажимаю кнопку, я получаю сообщение об ошибке «Открыть NCODE для чтения не удалось» ... что я делаю не так?
Из этого я надеюсь найти способ позволить пользователю ввести число, которое представляет строку в текстовом файле, а затем вернуть текст, который находится в этой строке. Доза кто -нибудь знает способ сделать это? Является ли это возможным?
Решение
Скорее всего, проблема - это путь файла, так как вы не указываете полное имя пути. Когда вы хотите получить доступ к файлу в пакете вашего приложения, используйте -[NSBundle pathForResource:ofType]
:
NSString *path = [[NSBundle mainBundle] pathForResource:@"nCode01"
ofType:@"txt"];
nCode = [NSFileHandle fileHandleForReadingAtPath:path];