Какао: основная проблема получения строки из файла - PullRequest
2 голосов
/ 23 февраля 2010

Есть ли какая-то ослепительно очевидная причина, по которой это создает нулевую строку вместо фактического текстового содержимого файла?

NSString *fromFile = [NSString stringWithContentsOfFile:
                       @"file://localhost/Users/username/Desktop/test.txt"];

NSLog(@"%@", fromFile);

PRINTS: "(null)"

Файл представляет собой обычный текстовый файл ASCII, сохраненный из TextWrangler с содержимым «abc».

Путь исходит от перетаскивания фактического файла с рабочего стола в окно редактора Xcode.

Я также пробовал без "file: // localhost".

В документации метода написано "Возвращает ноль, если файл не может быть открыт". В этом файле нет ничего необычного (не заблокировано и т. Д.). Он имеет разрешения Unix по умолчанию и был создан тем же пользователем, что и Xcode.

Я знаю, что этот метод устарел - сначала пытаюсь заставить его работать.

Ответы [ 2 ]

4 голосов
/ 23 февраля 2010

Вы смешали stringWithContentsOfFile: и stringWithContentsOfURL:.

Если вы передаете URL, например, @"file://localhost/Users/username/Desktop/test.txt" Вы хотите stringWithContentsOfURL: и установите параметр NSURL, например. [NSURL URLWithString:@"file://localhost/Users/username/Desktop/test.txt"]

Если вы хотите использовать stringWithContentsOfFile:, параметр должен быть @"/Users/username/Desktop/test.txt"

0 голосов
/ 23 февраля 2010

Вы пробовали ~/Desktop/test.txt или /Users/username/Desktop/test.txt?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...