Ruby - 删除文件中的最后一个字符?

标签 ruby file-io

看起来一定很简单,但我就是想不通。如何使用 Ruby IO 删除文件的最后一个字符?

我查看了 deleting the last line of a file 的答案使用 Ruby 但没有完全理解它,必须有更简单的方法。

有什么帮助吗?

最佳答案

File.truncate :

truncate(file_name, integer) → 0

Truncates the file file_name to be at most integer bytes long. Not available on all platforms.

所以你可以这样说:

File.truncate(file_name, File.size(file_name) - 1)

这应该通过单个系统调用截断文件以调整文件系统中文件的大小而不复制任何内容。

请注意,并非在所有平台上都可用 警告。 File.truncate 应该可以在任何 unixy(例如 Linux 或 OSX)上使用,我不能说任何关于 Windows 支持的有用信息。

关于Ruby - 删除文件中的最后一个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20850482/

相关文章:

ruby - 使用 strong_parameters 序列化数组

javascript - 将 json 参数传递给rails api

ruby-on-rails - 目录 : undefined method new for #<Class>

python - 从文件中获取字数,忽略 python 中的注释行

python - 在 Python 中将换行符写入 csv

c++ - C++ 中用于字节 block 随机读/写的基本文件 I/O

C# - 如何监控进程的文件读/写操作?

java - 在 cpu 和空间低的 java (android) 中保存 short[]

Bundler::GemNotFound 的 Ruby 问题

ruby-on-rails - ruby rails : Keep user input after submitting search form