逐步构建一个大的文本块,然后将其写入文件

时间:2013-11-28 01:27:49

标签: lisp common-lisp

我是Common Lisp的新手,我正在设想生成大文本文件的最佳方法。我基本上看到两个选项:

  1. 创建一个字符串并不断添加,然后将此字符串写入 文件输出流只有一次,仅在我的迭代的最后一端
  2. 创建文件流并在程序构建文本文件时反复不断地对其进行写入
  3. 也许类似于1:  3.创建一个字符串输出流并写入该输出流,然后将此流写入新的文件流。

    1&的问题3是我认为字符串不是为了容纳非常大的文本内容而设计的,不是吗?

    2的问题是,不断打开和关闭文件似乎很浪费,即使使用with-命令这样做也很方便;似乎效率低下且容易出错。

    这种做法的典型方式是什么?

1 个答案:

答案 0 :(得分:1)

打开文件流并将其保持打开以进行所有工作,然后关闭它并在必要时移至另一个流。无需不断重新打开和关闭文件。