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

时间:2015-02-11 20:04:43

标签: swift file-io swift-playground

我通过这些SO链接阅读了答案

1. Read a file/URL line-by-line in Swift

2. Read and write data from text file

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

因此,如果我想从“/ 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, error: nil)
}

1 个答案:

答案 0 :(得分:7)

在尝试了几天之后,很明显,

如果我们尝试文件处理'我们无法访问项目的自包含目录以外的其他目录。在操场上。因为它是沙盒的

但是从xcode项目中,我们可以访问任何目录并执行读/写操作。

学分:@robMayoff