1. 程式人生 > >swift4--複製刪除和移動檔案

swift4--複製刪除和移動檔案

//複製移動和刪除檔案
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.
    }


}