[Xcode 實際操做]7、文件與數據-(5 )複製、移動、刪除文件和刪除文件夾

目錄:[Swift]Xcode實際操做html

本文將演示如何複製、移動和刪除文件。swift

在項目導航區,打開視圖控制器的代碼文件【ViewController.swift】數組

  1 import UIKit
  2 
  3 class ViewController: UIViewController {
  4 
  5     override func viewDidLoad() {
  6         super.viewDidLoad()
  7         // Do any additional setup after loading the view, typically from a nib.
  8         
  9         //調用方法,遍歷文件夾
 10         self.listFolder()
 11         //調用方法,用來複制文件
 12         self.copyFile()
 13         //調用方法,用來移動一個文件
 14         self.moveFile()
 15         //調用方法,用來刪除一個文件
 16         self.removeFile()
 17         //調用方法,用來刪除一個文件夾下的全部內容
 18         self.removeFolder()
 19         //調用方法,遍歷文件夾
 20         self.listFolder()
 21     }
 22 
 23     //建立一個方法,用來複制文件
 24     func copyFile()
 25     {
 26         //得到文件管理對象。
 27         //文件管理對象的主要功能包括:
 28         //1.讀取文件中的數據
 29         //2.向一個文件中寫入數據
 30         //3.刪除或複製文件
 31         //4.移動文件
 32         //5.比較兩個文件的內容
 33         //6.檢測文件的存在性
 34         let fileManager = FileManager.default
 35         //建立一個字符串對象,
 36         //該字符串對象表示文檔目錄下的一個文本文件。
 37         let sourceUrl = NSHomeDirectory() + "/Documents/swift.txt"
 38         //再建立俺一個字符串對象,
 39         //表示文件被複制後的目標位置
 40         let targetUrl = NSHomeDirectory() + "/Documents/swift_bak.txt"
 41 
 42         //建立一個異常捕捉語句,用於複製一個文件
 43         do
 44         {
 45             //使用try語句,將文本文件複製到目標位置
 46             try fileManager.copyItem(atPath: sourceUrl, toPath: targetUrl)
 47             //在控制檯打印輸出日誌,提示文本文件複製成功
 48             print("Success to copy file.")
 49         }
 50         catch
 51         {
 52             print("Failed to copy file.")
 53         }
 54     }
 55     
 56     //建立一個方法,用來移動一個文件
 57     func moveFile()
 58     {
 59         //得到文件管理對象
 60         let fileManager = FileManager.default
 61         //建立一個字符串對象,
 62         //該字符串對象表示文檔目錄下的一個屬性列表文件。
 63         let sourceUrl = NSHomeDirectory() + "/Documents/products.plist"
 64         //再建立一個字符串對象,表示文件被移動後的目標位置
 65         let targetUrl = NSHomeDirectory() + "/Documents/backUp"
 66         
 67         //建立一個異常捕捉語句,用於移動一個文件
 68         do
 69         {
 70             //使用try語句,將屬性列表文件移動到目標位置
 71             try fileManager.moveItem(atPath: sourceUrl, toPath: targetUrl)
 72             //在控制檯打印輸出日誌,提示屬性列表文件移動成功
 73             print("Success to move file.")
 74         }
 75         catch
 76         {
 77             print("Failed to move file.")
 78         }
 79     }
 80     
 81     //建立一個方法,用來刪除一個文件
 82     func removeFile()
 83     {
 84         //得到文件管理對象
 85         let fileManager = FileManager.default
 86         //建立一個字符串對象,
 87         //該字符串對象表示文檔目錄下的一個圖片文件。
 88         let sourceUrl = NSHomeDirectory() + "/Documents/Pic.png"
 89 
 90         //建立一個異常捕捉語句,用於移除一個文件
 91         do
 92         {
 93             //使用try語句,刪除指定位置的圖片
 94             try fileManager.removeItem(atPath: sourceUrl)
 95             //在控制檯打印輸出日誌,提示文件刪除成功
 96             print("Success to remove file.")
 97         }
 98         catch
 99         {
100             print("Failed to remove file.")
101         }
102     }
103     
104     //建立一個方法,用來刪除一個文件夾下的全部內容
105     func removeFolder()
106     {
107         //得到文件管理對象
108         let fileManager = FileManager.default
109         //建立一個字符串對象,
110         //該字符串對象表示文檔目錄下的文件夾。
111         let folder = NSHomeDirectory() + "/Documents/backUp"
112         //得到該目錄下的全部子文件夾
113         let files:[String]? = fileManager.subpaths(atPath: folder)
114         //建立一個循環語句,用來遍歷全部子目錄
115         for file in files!
116         {
117              //建立一個異常捕捉語句,用於刪除內容
118             do
119             {
120                 //使用try語句,刪除指定位置的內容
121                 try fileManager.removeItem(atPath: folder + "/\(file)")
122                 //在控制檯打印輸出日誌,提示內容刪除成功
123                 print("Success to remove folder.")
124             }
125             catch
126             {
127                 print("Failed to remove folder.")
128             }
129         }
130         
131     }
132     
133     //建立一個方法,用來檢查和遍歷,
134     //在複製、移動、刪除等操做以後的文件夾
135     func listFolder()
136     {
137         //得到文件管理對象
138         let manager = FileManager.default
139         //建立一個字符串對象,
140         //該字符串對象表示文檔目錄
141         let url = NSHomeDirectory() + "/Documents/"
142         
143         //得到文檔目錄下的全部內容,以及子文件夾下的內容,
144         //並存儲在一個數組對象中
145         let contents = manager.enumerator(atPath: url)
146         //而後在控制檯打印輸出數組內容
147         print("contents:\(String(describing: contents?.allObjects))")
148     }
149     
150     override func didReceiveMemoryWarning() {
151         super.didReceiveMemoryWarning()
152         // Dispose of any resources that can be recreated.
153     }
154 }
相關文章
相關標籤/搜索