将块数据块写入文件

时间:2015-06-04 11:01:56

标签: rebol rebol3

经过多次尝试,我坚持这个,我有一个项目数组,我试图将其输出到一个文件,但问题是它一次写入并忽略换行符。我开始怀疑rebol是否具有如此简单的能力。 file1.txt包含多行

myArray: []
foreach line read/lines %file1.txt [
    append myArray line
]
write %file2.txt myArray

这不起作用,所有内容都写在一行

fp: open/new %file2
foreach line myArray [insert fp line]
close fp

这两种方式都不起作用“不能在端口上使用插入!”

我不是要复制文件,上面只是对我要做的事情的演示。

2 个答案:

答案 0 :(得分:3)

Rebol保持原样。但是在读取/读取行之后,您只需获得一个没有换行符的项目块。如果你想要一个用换行符分隔的行项目块,你应该用精炼写入/行再次写入它们,Rebol再次添加换行符。

myArray: []
foreach line read/lines %file1.txt [
    append myArray line
]
write/lines %file2.txt myArray

答案 1 :(得分:1)

当您使用read/lines时,Rebol会丢弃行结束数据,并为您提供block strings。如果您想将block写入文件,可以在newline添加到每一行。

myArray: []
foreach line read/lines %file1.txt [
    append myArray join line newline
}
write %file2.txt myArray