首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用Swift将文本文件逐行加载到数组中?

如何使用Swift将文本文件逐行加载到数组中?
EN

Stack Overflow用户
提问于 2014-06-04 22:26:05
回答 7查看 38.7K关注 0票数 39

如何使用swift将文本文件逐行加载到array

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2014-06-04 22:35:12

大致是这样的:

代码语言:javascript
复制
func arrayFromContentsOfFileWithName(fileName: String) -> [String]? {
    guard let path = NSBundle.mainBundle().pathForResource(fileName, ofType: "txt") else {
        return nil
    }

    do {
        let content = try String(contentsOfFile:path, encoding: NSUTF8StringEncoding)
        return content.componentsSeparatedByString("\n")
    } catch _ as NSError {
        return nil
    }
}

这种方法假设有问题的文件位于您的应用程序包中。

票数 63
EN

Stack Overflow用户

发布于 2016-10-27 12:49:31

基于公认答案的Swift 3版本:

代码语言:javascript
复制
func arrayFromContentsOfFileWithName(fileName: String) -> [String]? {
    guard let path = Bundle.main.path(forResource: fileName, ofType: "txt") else {
        return nil
    }

    do {
        let content = try String(contentsOfFile:path, encoding: String.Encoding.utf8)
        return content.components(separatedBy: "\n")
    } catch {
        return nil
    }
}
票数 7
EN

Stack Overflow用户

发布于 2015-06-09 22:27:05

如果您使用的是Swift 2.0,则应使用:

代码语言:javascript
复制
let path = NSBundle.mainBundle().pathForResource(fileName, ofType: nil)
if path == nil {
  return nil
}

var fileContents: String? = nil
do {
  fileContents = try String(contentsOfFile: path!, encoding: NSUTF8StringEncoding)
} catch _ as NSError {
  return nil
}
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24040141

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档