ios - Swift 3 写入文本文件

标签 ios swift

在我的应用程序中,我试图将数据添加到名为 saveURL.txt 的程序的文档目录中的文本文件,以便稍后调用和解析它。我的代码是

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

let fileURL = DocumentDirURL.appendingPathComponent(fileName).appendingPathExtension("txt")
print("FilePath: \(fileURL.path)")

let writeString = "Write this text to the fileURL as text in iOS using Swift"
do {
    // Write to the file
    try writeString.write(to: fileURL, atomically: true, encoding: String.Encoding.utf8)
    print("past try writeString.write")
} catch let error as NSError {
    print("Failed writing to URL: \(fileURL), Error: " + error.localizedDescription)
}

var readString = "" // Used to store the file contents
do {
    // Read the file contents
    readString = try String(contentsOf: fileURL)
} catch let error as NSError {
    print("Failed reading from URL: \(fileURL), Error: " + error.localizedDescription)
}
print("File Text: \(readString)")

控制台显示的输出是

FilePath: /Users/mike/Library/Developer/CoreSimulator/Devices/752A5025-0AA0-4BE1-B70F-644A904F2D8A/data/Containers/Data/Application/0084AD99-63DB-439F-8427-DDDF161CFAC0/Documents/saveURL.txt
past try writeString.write
File Text: Write this text to the fileURL as text in iOS using Swift

它正在显示它实际上已存储的输出,但是当我去检查文件以查看它是否实际附加到它时,它仍然是空白的。我通篇都读过 swift 文件是只读的等等,但我也看到了有效但在我的程序中不起作用的示例。

最佳答案

这是在文本文件中写入 url 的代码。

func writeToFile(urlString: String)
{
    let file = "/saveURL.txt" //this is the file. we will write to and read from it

        if let dir = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.documentDirectory, FileManager.SearchPathDomainMask.allDomainsMask, true).first {
        let path = dir + file
        print(path)
        do {
            try urlString.write(toFile: path, atomically: false, encoding: String.Encoding.utf8)
        }
        catch {/* error handling here */}
    }
}

希望对您有所帮助。

关于ios - Swift 3 写入文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47666746/

相关文章:

ios - 使用 Swift 通过蓝牙发送消息

ios - Xcode 11.2.1错误: Command CompileSwiftSources failed with a nonzero exit code

ios - viewDidLoad 没有被调用

ios 5 和 ios6 兼容性功能 -xcode

ios - 自动完成算法

ios - iOS 中的双向滚动表

ios - 使用constraintsWithVisualFormat 在 TableView 单元格的中心设置图像

ios - 代码 9 : Setting RootViewController in AppDelegate causes black screen after launching the application

ios - 我无法为 UICollectionViewCell 子类或其任何 subview 设置动画

ios - 如何获得 UITableViewCell 移动开始和结束的通知?