[Xcode10 实际操作]七、文件与数据-(5 )复制、移动、删除文件和删除文件夹

本文将演示如何复制、移动和删除文件。

在项目导航区,打开视图控制器的代码文件【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 }

猜你喜欢

转载自www.cnblogs.com/strengthen/p/10048509.html
今日推荐