swift之文件操作

一、创建文件


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
}

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值