相关疑难解决方法(0)

从文本文件中读取和写入字符串

我需要从文本文件中读取和写入数据,但我无法弄清楚如何.

我在Swift的iBook中找到了这个示例代码,但我仍然不知道如何编写或读取数据.

import Cocoa

class DataImporter
{
    /*
    DataImporter is a class to import data from an external file.
    The class is assumed to take a non-trivial amount of time to initialize.
    */
    var fileName = "data.txt"
    // the DataImporter class would provide data importing functionality here
}

class DataManager
{
    @lazy var importer = DataImporter()
    var data = String[]()
    // the DataManager class would provide data management functionality here
}

let manager = DataManager()
manager.data += "Some data"
manager.data …
Run Code Online (Sandbox Code Playgroud)

file-io swift

273
推荐指数
7
解决办法
38万
查看次数

如何打开文件并在其中附加一个字符串,swift

我试图将一个字符串附加到文本文件中.我使用以下代码.

let dirs : [String]? = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.AllDomainsMask, true) as? [String]
if (dirs) != nil {
    let dir = dirs![0] //documents directory
    let path = dir.stringByAppendingPathComponent("votes")
    let text = "some text"

    //writing
    text.writeToFile(path, atomically: true, encoding: NSUTF8StringEncoding, error: nil)

    //reading
    let text2 = String(contentsOfFile: path, encoding: NSUTF8StringEncoding, error: nil)
    println(text2) //prints some text
}
Run Code Online (Sandbox Code Playgroud)

这不会将字符串附加到文件.即使我反复调用此功能.

ios swift

6
推荐指数
1
解决办法
1万
查看次数

在swift 3中写入文本文件

嗨,我对快速编程很新,所以如果我犯了明显的错误,请耐心等待.我试图将用户通过文本字段输入的数据写入文本文件.我可以通过下面编写的代码成功完成此操作.但是,当我尝试保存更多数据时,它将使用正在保存的新数据替换文本文件中的现有数据.例如,如果我保存字符串'hello world'然后保存另一个字符串'bye'.我只会在文本文件中看到字符串'bye'.有没有办法可以修改我的代码,这样我就可以在纺织品的一行看到'hello world',在另一行看到'bye'.

@IBAction func btnclicked(_ sender: Any) {        
   self.savedata(value: answer.text!)
}

func savedata (value: String){    
   let fileName = "Test"
   let DocumentDirURL = try! FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true)

   let fileURL = DocumentDirURL.appendingPathComponent(fileName).appendingPathExtension("txt")
   print("FilePath: \(fileURL.path)")

   let writeString = NSString(string: answer.text!)
   do {
      // Write to the file
      try writeString.write(to: fileURL, atomically: true, encoding: String.Encoding.utf8.rawValue)
   } catch let error as NSError {
         print("Failed writing to URL: \(fileURL), Error: " + error.localizedDescription)
   }
}
Run Code Online (Sandbox Code Playgroud)

非常感谢任何帮助谢谢你

writetofile swift3 ios10

6
推荐指数
1
解决办法
7727
查看次数

在 Swift 中将字符串附加到文本文件的最佳方法

我是 Swift 新手,尝试将字符串附加到 iOS 应用程序中的文本文件中。

string.write 很简单,但会覆盖现有信息。

write(toFile:atomically:encoding:) 也会覆盖现有信息,尽管文档指出它将来可能会扩展以允许添加信息。

使用 FileHandle 似乎合乎逻辑,但是写入文件的方法 - 例如 init(forWritingTo:) - 需要 write(_:),并且该函数已被 弃用!该文档不建议替代或替代。

    let fileName: String = "mytextfile.txt"
    let directoryURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first
    let newFileUrl = directoryURL!.appendingPathComponent(fileName)
    let textToAdd = "Help me, Obiwan!"
    if let fileUpdater = try? FileHandle(forUpdating: newFileUrl) {
           fileUpdater.seekToEndOfFile()
           fileUpdater.write(textToAdd.data(using: .utf8)!)
           fileUpdater.closeFile()
        }

Run Code Online (Sandbox Code Playgroud)

既然 write(_:) 已被弃用,那么推荐的方法是什么?

swift

5
推荐指数
0
解决办法
2375
查看次数

快速在文本文件的末尾附加一些文本

我正在使用以下代码,但出现错误。

“无法将 NSURL 类型的值转换为 int32”

在这一行:

if let fileHandle = NSFileHandle(fileDescriptor: fileurl, closeOnDealloc: &err).
Run Code Online (Sandbox Code Playgroud)

并收到此错误

在这一行中“没有更多上下文的表达类型不明确”

if !data.writeToURL(fileurl, options: .DataWritingAtomic, error: &err)
Run Code Online (Sandbox Code Playgroud)

代码:

let dir:NSURL = NSFileManager.defaultManager().URLsForDirectory(NSSearchPathDirectory.CachesDirectory, inDomains: NSSearchPathDomainMask.UserDomainMask).last as NSURL
let fileurl =  dir.URLByAppendingPathComponent("log.txt")

let string = "\(NSDate())\n"
let data = string.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)!

if NSFileManager.defaultManager().fileExistsAtPath(fileurl.path!) {
    var err:NSError?
    if let fileHandle = NSFileHandle(fileDescriptor: fileurl, closeOnDealloc: &err) {
        fileHandle.seekToEndOfFile()
        fileHandle.writeData(data)
        fileHandle.closeFile()
    }
    else {
        print("Can't open fileHandle \(err)")
    }
}
else {
    var err:NSError?
    if !data.writeToURL(fileurl, options: .DataWritingAtomic, error: …
Run Code Online (Sandbox Code Playgroud)

append text-files ios swift

0
推荐指数
1
解决办法
3639
查看次数

标签 统计

swift ×4

ios ×2

append ×1

file-io ×1

ios10 ×1

swift3 ×1

text-files ×1

writetofile ×1