mirror of
https://github.com/jphong1111/awesome-ios-developer.git
synced 2024-12-22 17:25:12 +07:00
Create FileManager.swift
This commit is contained in:
parent
47a7615e7b
commit
0dc81c354f
79
Helper/FileManageHandler/FileManager.swift
Normal file
79
Helper/FileManageHandler/FileManager.swift
Normal file
@ -0,0 +1,79 @@
|
||||
//
|
||||
// FileManager.swift
|
||||
// VariousManagerDemoApp
|
||||
//
|
||||
// Created by JungpyoHong on 4/22/21.
|
||||
//
|
||||
import Foundation
|
||||
|
||||
class FileManager {
|
||||
|
||||
static let manager = FileManageHelper()
|
||||
|
||||
let useFileHandler = FileManager.default
|
||||
|
||||
private init() {}
|
||||
|
||||
func getDocumentDirectoryPath() -> URL {
|
||||
guard let url = useFileHandler.urls(for: .documentDirectory,
|
||||
in: .userDomainMask).first else { fatalError("Can't find path") }
|
||||
return url
|
||||
}
|
||||
|
||||
func createFile(resourceName: String, fileExtension: String) {
|
||||
let fileURLProject = Bundle.main.path(forResource: resourceName, ofType: fileExtension)
|
||||
let folderUrl = getDocumentDirectoryPath()
|
||||
let fileUrl = folderUrl.appendingPathComponent("\(resourceName).\(fileExtension)")
|
||||
do {
|
||||
try useFileHandler.copyItem(atPath: fileURLProject ?? "", toPath: fileUrl.path)
|
||||
} catch {
|
||||
print(error)
|
||||
}
|
||||
}
|
||||
|
||||
func writeFile(fileName: String, fileType: String, text: String) {
|
||||
let fileNameWithPath: String = "\(fileName).\(fileType)"
|
||||
let filePath = getDocumentDirectoryPath()
|
||||
let fileUrl = filePath.appendingPathComponent(fileNameWithPath)
|
||||
if useFileHandler.fileExists(atPath: fileUrl.path) {
|
||||
do {
|
||||
guard let fileContents = useFileHandler.contents(atPath: fileUrl.path) else { return }
|
||||
let fileContentsAsString = String(bytes: fileContents, encoding: .utf8)
|
||||
let fullText = "\(String(describing: fileContentsAsString) ):\(text)"
|
||||
guard let data = fullText.data(using: .utf8) else { return }
|
||||
try data.write(to: fileUrl)
|
||||
} catch {
|
||||
print(error)
|
||||
}
|
||||
} else {
|
||||
print("File is not existed")
|
||||
}
|
||||
}
|
||||
|
||||
func readFile(filename: String, type: String) -> String {
|
||||
let realFileName = "\(filename).\(type)"
|
||||
let fileURLProject = getDocumentDirectoryPath()
|
||||
|
||||
let fileURL = fileURLProject.appendingPathComponent(realFileName)
|
||||
|
||||
do {
|
||||
let fileContentsAsString = try String(contentsOf: fileURL, encoding: .utf8)
|
||||
return fileContentsAsString
|
||||
} catch { fatalError("no file") }
|
||||
}
|
||||
|
||||
func removeFile(fileName: String, fileType: String) {
|
||||
let fileNameWithPath: String = "\(fileName).\(fileType)"
|
||||
let filePath = getDocumentDirectoryPath()
|
||||
let fileUrl = filePath.appendingPathComponent(fileNameWithPath)
|
||||
if useFileHandler.fileExists(atPath: fileUrl.path) {
|
||||
do {
|
||||
try useFileHandler.removeItem(at: fileUrl)
|
||||
} catch {
|
||||
print(error)
|
||||
}
|
||||
} else {
|
||||
print("File is not existed")
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user