将字符串写入文件不会抛出错误,但不存在任何文件

时间:2017-05-17 11:40:50

标签: ios swift

我试图将CSV文件保存到iOS上的Documents文件夹中。 write(to:atomically:encoding:)不会抛出错误,但是当我加载文件时出现错误:

  

无法打开文件“test.csv”,因为没有这样的文件。

我该如何解决这个问题?此外,如果我尝试将文件放在Documents目录中的文件夹中,则始终无法写入文件,说明没有名为" test.csv""的文件夹。我尝试使用.txt而不是.csv并得到了同样的错误。

我的写块

    let dobString = NEKFormatter.dateOfBirth.string(from: dob)

    // TODO: File Naming Scheme
    let fileName = "test.csv"

    let documentsDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).last!
    let destDir = documentsDirectory
    let destPath = destDir.appendingPathComponent(fileName)

    // Attempt to save file to patient folder. If no patient folder exists, create it.
    do {
        if FileManager.default.fileExists(atPath: destDir.absoluteString) {
            try FileManager.default.createDirectory(at: destDir, withIntermediateDirectories: false, attributes: nil)
        }
        print(destPath)
        try csvString.write(to: destPath, atomically: true, encoding: .utf8)
        filePath = destPath.absoluteString // Global variable
    } catch {
        debugPrint("Error writing file: \(error.localizedDescription),")
    }

我的加载块

        let rawDataPath = URL(fileURLWithPath: filePath)

        do {
            let csvString = try String(contentsOf: rawDataPath, encoding: .utf8)                
        } catch {
            debugPrint(error.localizedDescription, #file, #line)
        }

0 个答案:

没有答案