相关疑难解决方法(0)

在Swift中逐行读取文本文件?

刚开始学习Swift,我已经从文本文件中读取了代码,应用程序显示了整个文本文件的内容.如何逐行显示并多次调用该行?

TextFile.txt包含以下内容.

  1. 香蕉
  2. 苹果
  3. 草莓
  4. 蓝莓
  5. 黑茶

以下是目前的......

  if let path = NSBundle.mainBundle().pathForResource("TextFile", ofType: "txt"){
        var data = String(contentsOfFile:path, encoding: NSUTF8StringEncoding, error: nil)
            if let content = (data){
                TextView.text = content
    }
Run Code Online (Sandbox Code Playgroud)

如果还有其他方式,请告诉我.非常感激

arrays text nsstring ios swift

38
推荐指数
6
解决办法
4万
查看次数

将文本或数据附加到Swift中的文本文件中

我已经读过从文本文件中读取和写入数据

我需要将数据(字符串)附加到我的文本文件的末尾.
一种显而易见的方法是从磁盘读取文件并将字符串附加到它的末尾并将其写回,但效率不高,尤其是在处理大文件并经常进行时.

所以问题是"如何将字符串附加到文本文件的末尾,而不读取文件并将整个内容写回来"?

到目前为止我有:

    let dir:NSURL = NSFileManager.defaultManager().URLsForDirectory(NSSearchPathDirectory.CachesDirectory, inDomains: NSSearchPathDomainMask.UserDomainMask).last as NSURL
    let fileurl =  dir.URLByAppendingPathComponent("log.txt")
    var err:NSError?
    // until we find a way to append stuff to files
    if let current_content_of_file = NSString(contentsOfURL: fileurl, encoding: NSUTF8StringEncoding, error: &err) {
        "\(current_content_of_file)\n\(NSDate()) -> \(object)".writeToURL(fileurl, atomically: true, encoding: NSUTF8StringEncoding, error: &err)
    }else {
        "\(NSDate()) -> \(object)".writeToURL(fileurl, atomically: true, encoding: NSUTF8StringEncoding, error: &err)
    }
    if err != nil{
        println("CANNOT LOG: \(err)")
    }
Run Code Online (Sandbox Code Playgroud)

append text-files swift

32
推荐指数
6
解决办法
3万
查看次数

使用Swift读取本地文件的简单方法?

我正在尝试学习新的Swift编程语言.它看起来很棒,但我很难做一些像读取本地.txt文件内容这样简单的事情.

我已经尝试了几个我可以通过Google找到的例子,但是它们给出了编译错误,比如这里的答案:从文本文件中读取和写入数据 如果我稍微调整一下代码,它可以工作,但只能从内部的特殊位置读取该项目.

为什么用Swift读取.txt文件就像使用Ruby一样简单?我将如何阅读位于的文件内容~/file.txt

日Thnx

swift

26
推荐指数
3
解决办法
7万
查看次数

Swift文本文件到字符串数组

我想知道将文本文件读入字符串数组中最简单,最干净的是快速的.

文本文件:

line 1
line 2
line 3 
line 4
Run Code Online (Sandbox Code Playgroud)

进入这样的数组:

var array = ["line 1","line 2","line 3","line 4"]
Run Code Online (Sandbox Code Playgroud)

我也想知道如何在这样的结构中做类似的事情:

Struct struct{
   var name: String!
   var email: String!
}
Run Code Online (Sandbox Code Playgroud)

所以拿一个文本文件并将其放入数组中的struct中.

谢谢您的帮助!

string file swift

12
推荐指数
3
解决办法
1万
查看次数

如何使用游乐场在Swift中读取和写入数据到文本文件?

我通读了这些SO链接以获得答案

1.在Swift中逐行读取文件/ URL

2.从文本文件中读取和写入数据

链接2为我提供了解决方案,但问题是目录.默认情况下,它是当前项目的Document目录.

因此,如果我想从"/Users/Prem/Desktop/File.txt"中读取文件,我应该对该代码进行哪些修改?

如何使用自定义目录在文本文件中读写数据?

let dirs : [String]? = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.AllDomainsMask, true) as? [String]

if ((dirs) != nil) {
    var dir = dirs![0]; //documents directory
    //println(dir)

    //dir = "/Users/Prem/Desktop"  ----> If i give this path, its not creating the file

    //Current Value in dir
    //dir ----> "/Users/Prem/Library/Containers/com.apple.dt.playground.stub.OSX.FileIO-2159807F-CC21-4545-AC34-AD9F9898796B/Data/Documents"

    let path = dir.stringByAppendingPathComponent("File.txt");
    println(path)
    let text = "Rondom Text"

    //writing
    text.writeToFile(path, atomically: false, encoding: NSUTF8StringEncoding, error: nil);

    //reading
    let text2 = String(contentsOfFile: path, encoding: NSUTF8StringEncoding, …
Run Code Online (Sandbox Code Playgroud)

file-io swift swift-playground

7
推荐指数
1
解决办法
7886
查看次数

使用 Swift 4 在应用程序中保存/加载文件

我的应用程序需要创建文件(例如 .txt 文件)和目录来对该文件进行编目,这些文件必须存储在手机中。运行该应用程序,我将创建一个特定目录和一个将在内部保存的特定 .txt 文件。

我来自 Android Studio,这样做很简单,但在 Swift 上我找不到方法。

我试试这个:

// Save data to file
let fileName = "Test"
let DocumentDirURL = try! FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true)

let fileURL = DocumentDirURL.appendingPathComponent(fileName).appendingPathExtension("txt")
Run Code Online (Sandbox Code Playgroud)

如果应用程序在启动时创建该文件,则该文件可用。

如果我注释这些行并检查该文件是否存在,它就会失败。

有什么建议吗?我想我使用了错误的类,但我找不到其他任何东西。

file-management ios swift

7
推荐指数
1
解决办法
9389
查看次数

使用txt文件中的字符串填充数组

Data.txt包含这样的东西:"Cat""Dog""Mouse"

我想用该文件中的字符串填充数组(dico [0] ="Cat",dico [1] ="Dog",aso).

我发现了这个,如何在Swift中调用Objective-C的NSArray类方法?从文本文件中读取和写入数据,但是当我使用此代码时:

let bundle = NSBundle.mainBundle()
let path = bundle.pathForResource("data", ofType: "txt")
let dico = NSArray(contentsOfFile: path)

println("\(dico[0])")
println("\(dico.count)")
Run Code Online (Sandbox Code Playgroud)

我得到的只是"零"和"0".

我想我的文件中的数据不是按照应该的方式编写的,我使用的代码不对,但我无法理解为什么.

而且,当我使用这段代码时,它没关系:

    let bundle = NSBundle.mainBundle()
    let path = bundle.pathForResource("data", ofType: "txt")
    let dico = NSString(contentsOfFile: path)

    println("\(dico)")
Run Code Online (Sandbox Code Playgroud)

问题是我不希望dico成为一个字符串,我希望它是一个数组.

arrays swift

5
推荐指数
1
解决办法
3561
查看次数

使用swift读入文本文件

Swift 的新手,但用其他语言(Java、C、Python ......)完成了大量编码,我对简单地读取文件看起来有多么困难感到沮丧。

我已经阅读了许多帖子,例如这个帖子,但无法让他们的建议发挥作用。还可以阅读这篇文章这一个,但解决方案似乎长了这样一个简单的任务,也没有为我工作。

这是一个简单的版本:

    import Foundation
    let path = "./data.txt"        
    let fileContents = String(contentsOfFile: path, encoding: NSUTF8StringEncoding)        
    print(fileContents) // prints out: ("./data.txt", 4)
    let lines : [String] = fileContents.componentsSeparatedByString("\n") // error: value of type 'String' has no member 'componentsSeparatedByString'       
Run Code Online (Sandbox Code Playgroud)

现在,根据我上面链接的第一篇文章,我希望这会将指定的文件读入一个字符串,然后在换行符上拆分字符串,并给我一个数组,每行作为一个元素。相反,当我打印 fileContents 时,我得到的是某种类型的元组而不是我期望的字符串。当我尝试拆分字符串时,显然该函数不存在。

有人可以解释我遗漏了什么并向我展示了一种将文件中的行读入字符串数组的简短方法吗?我正在阅读文档,但甚至找不到第 3 行中 String() 调用的解释或第 5 行中对 componentsSeparatedByString() 的引用,所以我完全不考虑第一篇文章中的建议;任何指针都非常感谢。

arrays string file swift

5
推荐指数
1
解决办法
5543
查看次数

读取/写入本地 json 文件 swift 4

请帮助我!\n我在项目中添加了一个 json 文件\n我的 json 文件:

\n\n
{\n  "person": [\n    {\n      "title": "\xd0\x92\xd0\xb8\xd1\x82\xd0\xb0\xd0\xbc\xd0\xb8\xd0\xbd \xd0\x90",\n      "image": "Vitamin1",\n      "favorite": false\n    },\n    {\n      "title": "\xd0\x92\xd0\xb8\xd1\x82\xd0\xb0\xd0\xbc\xd0\xb8\xd0\xbd B6",\n      "image": "Vitamin2",\n      "favorite": false\n    }\n  ]\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

我可以读取文件:

\n\n
struct ResponseData: Decodable {\n    var person: [Person]\n}\n\nstruct Person : Decodable {\n    var title: String\n    var image: String\n    var favorite: Bool\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

从文件函数加载 json:

\n\n
func loadJson(filename fileName: String) -> [Person]? {\n    if let url = Bundle.main.url(forResource: fileName, withExtension: "json") {\n        do {\n            let data = try Data(contentsOf: url)\n            let …
Run Code Online (Sandbox Code Playgroud)

json swift swift4

5
推荐指数
1
解决办法
7884
查看次数

Swift - 向/从文件读/写数组数组

是我的文件.

我该怎么写这个数组:

var listOfTasks = [["Hi", "Hello", "12:00"],["Hey there", "What's up?", "3:17"]]

.txt文件(file.txt)?我知道还有其他问题,但它们是其他语言(不是Swift).我希望它可以在真正的iPhone上运行.如有必要,我很乐意提供更多信息.我是Swift的新手,请原谅我的问题,如果它看起来太简单了.注意:我特别询问有关包含数组的数组.

提前致谢!

arrays read-write swift

4
推荐指数
1
解决办法
7115
查看次数