Ruby 写入 txt 文件 DOS/Windows

Ruby Write txt file DOS/Windows

也许这是一个新手问题,但我还没有找到问题所在。 我需要用 Ruby 写一个文本文件。 我可以编写和创建要导出的文件,但是当我导出文件并在其他软件中读取时,它告诉我这是一个 UNIX 文件,程序要求它是 DOS / Windows.

如何使用 Ruby 执行此操作? 我在项目中使用Rails4.

我写作的例子。

File.open(filePath, "w+"){ |file| file.write("blablabla\n")}

改用\r\n

File.open(filePath, "w+"){ |file| file.write("blablabla\r\n")}
  • 仅使用 \n (0x0a) 是 'unix style'。
  • 使用 \r\n (0x0d 0x0a) 是 'windows style'。

虽然大多数软件应该都可以处理。

它没有很清楚地记录,但 File.open 也接受这些 String#encode 选项:

File.open('a.txt', 'w+', crlf_newline: true){ |file| file.write("blablabla\n")}

File.open('a.txt', 'w+', newline: :crlf){ |file| file.write("blablabla\n")}

两者都将强制 Ruby 写入 CRLF 而不是 LF(CR 是 \r,LF 是 \n)。