Мне нужна помощь, чтобы понять, как многократно записывать в один и тот же открытый выходной файл.Я использую Swift 4.2.Мои поиски и тесты обнаружили только код, который записывает одну текстовую строку в файл, а затем закрывает файл.Следующее открытие перезаписывает последнее.Пример показан ниже.
Проблема в том, что мне нужно иметь возможность писать большое количество записей (скажем, 1,5 миллиона) и выполнять вычисления для каждой записи непосредственно перед ее записью в файл.Это неосуществимо, когда код будет записан только один раз перед закрытием.Я называю это «запись построчно», как и наоборот, «читать построчно».
Я пытался найти опцию в различных операторах записи Swift и SO сообщениях, но, похоже, все ориентировано на запись, а затем закрытие файла.Я попытался открыть для добавления, но это не сработало, и в любом случае кажется неэффективным открывать, закрывать, заново открывать и добавлять каждый раз, когда я хочу записать в файл.Я попробовал некоторый C-код в Swift, используя open (… и freopen (…), но не смог получить то, на что компилятор не жаловался. Надеюсь, есть способ сделать все это в Swift. Следующий код прекрасно работает для одногоwrite.
let file0 = “test_file.txt”
let s0 = ("This is a test line of text")
do {
try s0.write(to: NSURL(fileURLWithPath: file0) as URL, atomically: false, encoding: String.Encoding.utf8)
} catch {
print("Problem writing to file0")
}
Как я могу адаптировать этот фрагмент кода для записи строки, а затем другой, другой и т. д., и перед закрытием файла, когда все будет сделано? Если нет, то есть ли код Swift, которыйбудет делать работу?