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

7
我的应用需要创建文件(例如.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")

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

如果我注释掉这些行并检查该文件的存在性,则检查失败。

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


你的代码中没有创建文件的操作。请展示更多细节。 - Gereon
1个回答

9

你需要实际编写文件。

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)")
}

实际上,我忘了向文件写入内容。谢谢!我怎样才能删除这个副本? - Zelota91

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接