如何在 iOS 上创建文件、写入数据以及读取数据?
iosapps/applicationsmobile development
作为一名软件开发者,我们应该始终了解如何操作文件、写入文件、读取文件等等。
在本文中,我们将学习相同的内容,我们将创建一个文件、写入数据,然后读取同一个文件。
那么,让我们开始吧!
步骤 1 − 创建新的 Xcode 项目 → 单视图应用程序 → 将其命名为"ReadingWritingFile"
步骤 2 −打开 ViewController.swift 并添加如下所示的新函数
public func createAndWriteFile() {
}
现在我们将创建一个文件并打印该文件的路径。
步骤 3 − 在 createAndWriteFile 函数中添加
let fileName = "sample"
let documentDirectoryUrl = try! FileManager.default.url(
for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true
)
let fileUrl = documentDirectoryUrl.appendingPathComponent(fileName).appendingPathExtension("txt")
// 打印文件路径
print("File path \(fileUrl.path)")
现在您的 createAndWriteFile 函数应该如下所示
public func createAndWriteFile() {
let fileName = "sample"
let documentDirectoryUrl = try! FileManager.default.url(
for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true
)
let fileUrl = documentDirectoryUrl.appendingPathComponent(fileName).appendingPathExtension("txt")
// 打印文件路径
print(&" 文件路径 \(fileUrl.path)")
//要写入文件的数据。
let stringData = &"Hello Tutorials Point"
do {
try stringData.write(to: fileUrl, atomically: true, encoding: String.Encoding.utf8)
} catch let error as NSError {
print (error)
}
}
现在我们将写入文件。
将以下代码添加到现有函数中
//要写入文件的数据。
let stringData = "Hello Tutorials Point"
do {
try stringData.write(to: fileUrl, atomically: true, encoding: String.Encoding.utf8)
} catch let error as NSError {
print (error)
}
步骤 4 − 最终函数应如下所示
//用于创建文件并写入文件的函数。
public func createAndWriteFile() {
let fileName = "sample"
let documentDirectoryUrl = try! FileManager.default.url(
for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true
)
let fileUrl = documentDirectoryUrl.appendingPathComponent(fileName).appendingPathExtension("txt")
// 打印文件路径
print(&" 文件路径 \(fileUrl.path)")
//要写入文件的数据。
let stringData = &"Hello Tutorials Point"
do {
try stringData.write(to: fileUrl, atomically: true, encoding: String.Encoding.utf8)
} catch let error as NSError {
print (error)
}
}
步骤 5 −通过从 viewDidLoad() 调用新方法来运行项目,导航文件路径并验证内容。
步骤 6 − 现在我们要读取内容,将以下代码复制到同一函数中
var readFile = ""
do {
readFile = try String(contentsOf: fileUrl)
} catch let error as NSError {
print(error)
}
print (readFile)
大功告成

第 7 步 − 完成代码
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// 加载视图后进行任何其他设置,通常从 nib 文件进行。
self.createReadAndWriteFile()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// 释放所有可重新创建的资源。
}
// 用于创建文件并写入文件的函数。
public func createReadAndWriteFile() {
let fileName = &"sample&";
let documentDirectoryUrl = try! FileManager.default.url(
for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true
)
let fileUrl = documentDirectoryUrl.appendingPathComponent(fileName).appendingPathExtension(&"txt&";)
// 打印文件路径
print(&"File path \(fileUrl.path)&";)
// 要写入文件的数据。
let stringData = "Hello Tutorials Point."
do {
try stringData.write(to: fileUrl, atomically: true, encoding: String.Encoding.utf8)
} catch let error as NSError {
print (error)
}
var readFile = ""
do {
readFile = try String(contentsOf: fileUrl)
} catch let error as NSError {
print(error)
}
print (readFile)
}
}

