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

How to Read and Write data to a text file in Swift using playground?

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

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

2. Read and write data from text file

Link 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, error: nil)
}

经过几天的尝试,很明显,

如果我们在 playground 中尝试 'file handling',我们将无法访问项目的自包含目录以外的内容。因为它是沙盒

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

学分:@robMayoff