此處只列出了常用的一些功能
//
// LKFileManger.swift
//
//
// Created by admin on 2017/5/22.
// Copyright ? 2017年 LK. All rights reserved.
//
import UIKit
class LKFileManger: NSObject {
/// 單利
static let sharedInstance: LKFileManger = LKFileManger()
///
/// 獲取Documents路徑
///
/// - Returns: 返回路徑
public func getDocumentsPath() -> String{
let paths = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)
let path = paths.first
print(path!)
return path!
}
/// 根據(jù)傳入的文件夾名創(chuàng)建文件夾??
///
/// - Parameter directoryName: 傳入的文件夾名
public func createDirectory(_ directoryName: String) {
/// 獲取路徑
let path = LKFileManger.sharedInstance.getDocumentsPath()
/// 創(chuàng)建文件管理者
let fileManger = FileManager.default
/// 創(chuàng)建文件夾
let directoryPath = path + ("/\(directoryName)")
do {
try fileManger.createDirectory(atPath: directoryPath, withIntermediateDirectories: true, attributes: nil)
print("文件夾創(chuàng)建成功")
} catch let error {
print(error.localizedDescription)
print("文件夾創(chuàng)建失敗")
}
}
/// 根據(jù)傳入的文件名創(chuàng)建文件
///
/// - Parameter fileName: 傳入的文件名
/// - Returns: 返回文件名
public func createFile(_ fileName: String) -> (String){
/// 獲取路徑
let path = LKFileManger.sharedInstance.getDocumentsPath()
/// 創(chuàng)建文件管理者
let fileManger = FileManager.default
/// 創(chuàng)建文件
let filePath = path + ("/\(fileName)")
if !fileManger.fileExists(atPath: filePath) { /// 先判斷是否存在 不存在再創(chuàng)建
let isSuccess = fileManger.createFile(atPath: filePath, contents: nil, attributes: nil)
if isSuccess {
print("文件創(chuàng)建成功")
}else {
print("文件創(chuàng)建失敗")
}
}
return filePath
}
/// 寫(xiě)入文件
///
/// - Parameters:
/// - data: 要寫(xiě)入的數(shù)據(jù)
/// - filePath: 要寫(xiě)入的文件路徑
/// - Returns: 是否寫(xiě)入成功
public func writeFile(_ data: AnyObject, _ filePath: String) -> Bool {
return data.write(toFile: filePath, atomically: true)
}
/// 讀取文件內(nèi)容
///
/// - Parameter filePath: 要讀取的文件路徑
/// - Returns: 返回文件中數(shù)據(jù)
public func readFileContent(_ filePath: String) -> AnyObject {
/// 因?yàn)槲业捻?xiàng)目是存的數(shù)組 所以我返回的數(shù)組
return NSArray(contentsOfFile: filePath) ?? []
}
/// 獲取文件的大小
///
/// - Returns: 文件大小
public func getFileSize(_ fileName: String) -> Double {
let fileManger = FileManager.default
guard fileManger.fileExists(atPath: fileName) else {
return 0
}
let attr = try! fileManger.attributesOfItem(atPath: fileName)
let fileSize = Double((attr as NSDictionary).fileSize())
return fileSize/1024/1024
}
}
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者