Swift之文件操作(2)


一、创建文件

func createFile(fileName: String) {
   let filePath = Bundle.main.path(forResource: "Demo", ofType: "xml")   
   fileManager.createFile(atPath: filePath+"\(fileName).xml", contents: nil, attributes: nil)
       
}

二、删除文件

func deleteFile(fileName: String?) {
   if fileName == nil {
       return
   }
   let filePath = Bundle.main.path(forResource: "Demo", ofType: "xml")
   let dbexits = fileManager.fileExists(atPath: filePath+"\(fileName!).xml")
   if dbexits {
       try! fileManager.removeItem(atPath: filePath+"\(fileName!).xml")
   }
}

三、读取文件中的数据

func readFile(filePath: String) -> Bool {
       //获取文件路径
       //        let file = Bundle.main.path(forResource: "Demo", ofType: "xml")
       
   let url = URL(fileURLWithPath: filePath)
   //获取文件内容
   let xmlData = try? Data(contentsOf: url)
   //print(String(data:xmlData, encoding:String.Encoding.utf8))
   if xmlData == nil {
       NSLog("读取文件失败!")
       return false
   }
   return true
       
}

四、把字符串写入指定文件中

func writeStrToFile(receivedString: NSString) {
       
   let str = receivedString as String
   let wr = NSMutableData()
   wr.append(str.data(using:String.Encoding(rawValue: String.Encoding.utf8.rawValue))!)
       
   let manager = FileManager.default
   let urlsForDocDirectory = manager.urls(for:.documentDirectory, in:.userDomainMask)
   let docPath = urlsForDocDirectory[0]
   let file = docPath.appendingPathComponent("\(Demo!).xml")
   let writeHandler = try? FileHandle(forWritingTo:file)
   if writeHandler != nil {
       writeHandler!.seekToEndOfFile()
       writeHandler?.write(wr as Data)
   }
            
}

五、获取指定路径中的所有文件名

func getPathAllFileName(path:String) -> [String]{
   var fileNameArray:[String] = []
   do {
       fileNameArray = try FileManager.default.contentsOfDirectory(atPath: path)
           
   } catch let error as NSError {
       print("get file path error: \(error)")
   }
       
   return fileNameArray
}

六、获取指定路径中的所有xml文件名称

func getPathAllXmlFile(path:String) -> [String]{
   var fileNameArray:[String] = []
   var xmlFileArray:[String] = []
   do {
       fileNameArray = try FileManager.default.contentsOfDirectory(atPath: path)
       for fileName in fileNameArray {
           if fileName.hasSuffix(".xml") {
               let xmlFileName = fileName.prefix(fileName.count-4)
               xmlFileArray.append(String(xmlFileName))
           }
       }
   } catch let error as NSError {
       print("get file path error: \(error)")
   }
       
   return xmlFileArray
}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值