我在Windows上运行Ruby 1.9.3.当我运行以下代码片段时
text = File.read(path)
File.write(path, text)
Run Code Online (Sandbox Code Playgroud)
当文件具有CR + LF行结尾时,我得到完全相同的文件.当我在具有LF行结尾的文件上运行它时,它将更改为CR + LF行结尾.
如何使用Ruby on Windows读取和写入文件,以便保留行结尾,无论是CR + LF还是LF?
Ruby,以及Perl和可能的Python,都知道代码运行的操作系统,并将自动设置行结尾应该是什么.
如果您阅读,然后写一个文本文件,这些设置将会启动,您将看到文件发生了类似的变化.
如果您需要保持文件不变,请b在open语句中添加一个标志,如:
File.open('path', 'wb') do |fo|
fo.write(text)
end
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅" IO开放模式 ".
| 归档时间: |
|
| 查看次数: |
623 次 |
| 最近记录: |