如何在 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)
   }
}

相关文章