2014-09-19 3 views
3

Я пытаюсь прочитать текстовый файл из программы, котораятекстовый файл Read в Swift

var name = String.stringWithContentsOfFile("test.txt", encoding: NSUTF8StringEncoding, error:nil) 

(где text.txt находится в папке проекта)

Я также попытался:

var name = String.stringWithContentsOfFile("/Users/Michael/Desktop/test.txt", encoding: NSUTF8StringEncoding, error:nil) 

(Каталог)

И оба они возвращают ноль значение для меня. Я проверил файл и убедился, что это txt-файл с кодом UTF-8. Кто-нибудь может мне помочь?

+4

Первое, что вы должны сделать, это использовать параметр 'error' ... –

+0

Вы кодируете iOS или OSX? –

+0

Я прочитал документы и понятия не имел, как объявить объект ошибки, не могли бы вы рассказать мне, как его использовать? Спасибо @MartinR – michael

ответ

5

У вас есть эта проблема, потому что вы указали путь к файлу в виде строки, в то время как это должен быть объект пути. Попробуйте использовать следующий пример:

let path = NSBundle.mainBundle().pathForResource("fileName", ofType: "txt") 
var data = String.stringWithContentsOfFile(path, encoding: NSUTF8StringEncoding, error: nil) 

В этом примере предполагается, что указанный файл находится в вашем приложении.

+0

привет, спасибо, я попробовал ваш метод, он работает! Но я должен добавить комментарий после пути, чтобы код работал. И я не уверен, почему так получилось, ты поможешь мне снова? @pda – michael

+3

String.stringWithContentsOfFile (путь, кодировка: NSUTF8StringEncoding, error: nil) DEPRECATED и больше не работает с Xcode 6.1 –

+0

Если вы знаете, что это устарело, тогда я считаю, что вы знаете альтернативный вариант ... –

Смежные вопросы