使用Swift

时间:2019-07-05 00:03:13

标签: swift file

如果我的文件结构如下:

1234
12345
12345679101112
hello
world

我必须采取什么策略才能将行1234替换为123456?值得注意的是,每行中的数据不是固定长度,可以任意长。

我已经考虑过将所有文件加载到内存中并在那里执行操作,但是我的文件太大而无法容纳到内存中。我还考虑过将文件分成两部分,删除不需要的行,追加新行,然后再次合并文件。但这似乎有点过分,并且增加了动作的复杂性和处理时间。

我正在Swift中工作,并且已经测试过FileHandle API,但是对我来说唯一可用的写入方法是write(_:),其中1.已弃用,并且2.覆盖了数据而不是插入文件。

如果我尝试write(_:) 123456来代替1234,我最终会得到类似的东西:

123456345
12345679101112
hello
world

(覆盖换行符和下一行的一部分)。

这不是我要寻找的行为。因此,我不确定应该使用哪种API来实现预期的行为,而该行为也不会被弃用。

是否存在解决此类问题的一般策略(如果需要,我愿意自己实施其中之一)?更具体地说,有没有办法用Swift做到这一点?

0 个答案:

没有答案