一、创建文件
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 url = URL(fileURLWithPath: filePath)
let xmlData = try? Data(contentsOf: url)
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
}