如何在iOS上建立檔案、寫入資料和讀取資料?


作為軟體開發者,我們應該始終了解如何操作檔案,向檔案寫入資料,從檔案讀取資料等等。

在這篇文章中,我們將學習如何建立檔案,向檔案寫入資料,然後從同一檔案中讀取資料。

讓我們開始吧!

步驟 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")
// prints the file path
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")
   // prints the file path
   print("File path \(fileUrl.path)")
   //data to write in file.
   let stringData = "Hello Tutorials Point"
   do {
      try stringData.write(to: fileUrl, atomically: true, encoding: String.Encoding.utf8)
   } catch let error as NSError {
      print (error)
   }
}

現在我們將向檔案寫入資料。

將以下程式碼新增到現有函式中

//data to write in file.
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 − 你的最終函式應該如下所示:

// function to create file and write into the same.
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")
   // prints the file path
   print("File path \(fileUrl.path)")
   //data to write in file.
   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()
      // Do any additional setup after loading the view, typically from a nib.
      self.createReadAndWriteFile()
   }
   override func didReceiveMemoryWarning() {
      super.didReceiveMemoryWarning()
      // Dispose of any resources that can be recreated.
   }
   // function to create file and write into the same.
   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")
      // prints the file path
      print("File path \(fileUrl.path)")
      //data to write in file.
      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)
   }
}

更新於:2019年12月16日

1K+ 次檢視

啟動你的職業生涯

透過完成課程獲得認證

開始
廣告