提问者:小点点

使用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")

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

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

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


共1个答案

匿名用户

您需要实际写入文件。

import UIKit

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

let fileURL = DocumentDirURL.appendingPathComponent(fileName).appendingPathExtension("txt")

let text = "my text for my text file"
do {
    try text.write(to: fileURL, atomically: true, encoding: .utf8)
} catch {
    print("failed with error: \(error)")
}

do {
    let text2 = try String(contentsOf: fileURL, encoding: .utf8)
    print("Read back text: \(text2)")
}
catch {
    print("failed with error: \(error)")
}