zoukankan      html  css  js  c++  java
  • [Xcode 实际操作]七、文件与数据-(5 )复制、移动、删除文件和删除文件夹

    目录:[Swift]Xcode实际操作

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

    在项目导航区,打开视图控制器的代码文件【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 }
  • 相关阅读:
    《新土改:土地制度改革焦点难点辨析》:土地涨价要归公并用于城市配套设施,城市化的主角是人,小产权房不应该合法化,四星
    《清明上河图密码》:北宋的福尔摩斯探案,五星
    《中国的人口与城市》:关于中国人口与中国城市的数据分析,4星推荐。
    《集体失忆的黑暗时代》:已故加拿大公共知识分子关于城市规划与人类文明的随笔,三星推荐
    《智慧社会:大数据与社会物理学》:研究人类的想法的流动扩散的规律,四星
    《中国东部三大都市圈城市体系演化机制研究》:博士论文,结论是北上广深城市化规模还是不够,三星推荐
    《中国十亿城民——人类历史上最大规模人口流动背后的故事》:中国城市化将继续,城市对外来务工者应该更友好更包容,三星
    [Javascript] JavaScript赋值时的传值与传址
    [Vue @Component] Pass Props Between Components with Vue Slot Scope & renderless component
    [Dart] Understand Variables and Constants in Dart
  • 原文地址:https://www.cnblogs.com/strengthen/p/10048509.html
Copyright © 2011-2022 走看看