我需要从文本文件中读取和写入数据,但我无法弄清楚如何.
我在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) 我在Swift书中找不到关于io的任何内容.是否有类似于Java的OutputStream或Go的Writer接口的通用协议用于写入字节流?如果您正在编写一个返回流的类,您是否需要编写自己的协议或使用Objective C协议?
要明确我要求Swift原生接口不是因为我避免使用Objective C或Cocoa,而是为了描述Swift到Swift代码的预期行为.
我想知道如何将二进制文件读入内存(将其写入内存,就像 JavaScript 中的“数组缓冲区”一样),并写入内存的不同部分 8 位、16 位、32 位等值,甚至 5 位或 10 位值。
extension Binary {
static func readFileToMemory(_ file) -> ArrayBuffer {
let data = NSData(contentsOfFile: "/path/to/file/7CHands.dat")!
var dataRange = NSRange(location: 0, length: ?)
var ? = [Int32](count: ?, repeatedValue: ?)
data.getBytes(&?, range: dataRange)
}
static func writeToMemory(_ buffer, location, value) {
buffer[location] = value
}
static func readFromMemory(_ buffer, location) {
return buffer[location]
}
}
Run Code Online (Sandbox Code Playgroud)
我看了很多地方,但没有找到标准参考。