swift4--複製刪除和移動檔案
阿新 • • 發佈:2019-01-09
//複製移動和刪除檔案 import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. // 呼叫建立的方法 self.copyFile() self.moveFile() self.removeFile() self.removeFolder() self.listFolder() } // 首先建立一個方法,用來複制一個檔案 func copyFile() { // 首先獲得檔案管理物件, let fileManager = FileManager.default // 建立一個字串物件,表示文件目錄下的一個文字檔案 let souceUrl = NSHomeDirectory() + "/Documents/swift.txt" // 再建立一個字串物件,表示檔案被複制後的目標位置 let targetUrl = NSHomeDirectory() + "/Douments/swift_bak.txt" do{ // 複製檔案 try fileManager.copyItem(atPath: souceUrl, toPath: targetUrl) print("Success to copy file.") }catch{ print("Failed") } } // 接著建立一個方法,用來移動一個檔案 func moveFile(){ // 獲得檔案管理物件, let fileManager = FileManager.default // 建立一個字串物件,表示文件目錄下一個屬性列表檔案 let sourceUrl = NSHomeDirectory() + "/Documents/prodouts.plist" // 再建立一個字串物件,表示檔案被移動到目標位置 let targetUrl = NSHomeDirectory() + "/Documents/backUp" do{ try fileManager.moveItem(atPath: sourceUrl, toPath: targetUrl) print("Succsee to move file.") }catch{ print("Failed to move file.") } } // 建立一個方法,用來刪除一個檔案 func removeFile(){ // 獲得檔案管理物件 let fileManger = FileManager.default // 建立一個字串物件,表示文件目錄下的一個圖片 let sourceUrl = NSHomeDirectory() + "/Documents/Pic.png" do{ // 刪除指定位置的圖片 print("Success to remove file.") try fileManger.removeItem(atPath: sourceUrl) }catch{ print("Failed!") } } // 建立一個方法,用來刪除一個資料夾下所有的內容 func removeFolder(){ // 獲得檔案物件管理器 let fileManger = FileManager.default // 建立一個字串物件,表示文件目錄下的一個資料夾 let folder = NSHomeDirectory() + "/Documents/bak" // 然後獲得所有該目錄下的子資料夾 let files:[AnyObject]? = fileManger.subpaths(atPath: folder)! as [AnyObject] // 建立一個迴圈語句,用來遍歷所有子目錄 for file in files! { do{ // 刪除指定位置的內容 try fileManger.removeItem(atPath: folder + "/\(file)") print("Success to remove folder") }catch{ print("Failder!") } } } // 該方法用來檢查操作後的資料夾 func listFolder(){ // 獲得檔案管理物件、 let manger = FileManager.default // 建立一個字串物件,該字串物件表示文件目錄 let url = NSHomeDirectory() + "/Documents/" // 獲得文件目錄下所有的內容,以及子資料夾下的內容,在控制檯列印所有的陣列內容 let contents = manger.enumerator(atPath: url) print("contents:\(String(describing: contents?.allObjects))") } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } }