【发布时间】:2011-09-21 12:39:21
【问题描述】:
我正在尝试用 Ruby 将一个文件写入另一个文件,但输出似乎过早停止。
输入文件 - 带有 base64 嵌入字体的大型 CSS 文件
输出文件 - 基本 html 文件。
#write some HTML before the CSS (works)
...
#write the external CSS (doesn't work, output finished prematurely)
while !ext_css_file.eof()
out_file.puts(ext_css_file.read())
end
...
#write some HTML after the CSS (works)
生成的文件基本上是一个有效的 HTML 文件,带有截断的 CSS(在嵌入字体的中间)
当对 read() 的结果执行 put 时,我得到相同的结果:CSS 文件只读到最后一个字符串:“RMSHhoPCAGt/mELDBESFBQSggGfAgESKCUAAAAAAAwAlgABAAAAAAAABAAUADAABAAAAAAAC”
【问题讨论】:
-
不确定 puts/read/eof 是否能很好地协同工作。您是否尝试过将文件读入字符串然后将其写入字符串?或者:使用读/写