How to append fast updating strings to file in swift

早过忘川 提交于 2019-12-02 11:47:07

Just Try using This

//MARK:- Extension for String
extension String
{
    func appendLineToURL(fileURL: URL) throws
    {
        try (self + "\n").appendToURL(fileURL: fileURL)
    }

    func appendToURL(fileURL: URL) throws
    {
        let data = self.data(using: String.Encoding.utf8)!
        try data.append(fileURL: fileURL)
    }
}
//MARK:- Extension for File data
extension Data
{
    func append(fileURL: URL) throws {
        if let fileHandle = FileHandle(forWritingAtPath: fileURL.path)
        {
            defer
            {
                fileHandle.closeFile()
            }

            fileHandle.seekToEndOfFile()
            fileHandle.write(self)
        }
        else
        {
            try write(to: fileURL, options: .atomic)
        }
    }
}

Usage:

try newLine.appendToURL(fileURL: path!)

These Extension will Append Your NewLine Which you exactly looking for to Do,

This will just replace the Line at Path

try newLine.write(to: fileURL, atomically: false, encoding: .utf8)

This will Append The Data with The Existing Data as New Line

try newLine.appendToURL(fileURL: path!)

Use seekToEndOfFile

let myHandle = FileHandle.init(forWritingAtPath: fileUrl.path)

myHandle.seekToEndOfFile 

myHandle.write(strTowrite.data(using: String.Encoding.utf8)!)

myHandle.closeFile()
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!