在我的应用程序中,我试图将数据添加到名为 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/