【Ruby3.x】File::truncate()メソッドの使い方
truncateメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
truncateメソッドは、指定されたファイルのサイズを調整する操作を実行するメソッドです。具体的には、このメソッドは対象ファイルのパスと、新たに設定したいファイルサイズ(バイト単位)を受け取り、そのファイルの長さを指定されたサイズに切り詰める、または拡張します。
第一引数にはサイズを変更したいファイルのパスを文字列で指定し、第二引数には目標とするファイルサイズを整数で指定します。
もし指定された新しいサイズが現在のファイルサイズよりも小さい場合、ファイルはその新しいサイズに切り詰められます。このとき、元のファイルサイズから超過した部分は完全に削除され、失われたデータは元に戻すことができませんので、利用する際には細心の注意が必要です。
逆に、新しいサイズが現在のファイルサイズよりも大きい場合、ファイルは指定された新しいサイズまで拡張されます。拡張された新しい領域には、通常、ヌル文字(バイナリの0)が埋められます。
この操作を実行するには、対象ファイルに対する書き込み権限が必要です。ファイルが存在しない場合や、必要な権限がない場合には、エラーが発生する可能性があります。処理が成功すると、truncateメソッドは常に0を返します。ファイルの内容を直接操作する重要な機能であるため、データの整合性を保つためにも、慎重な利用が求められます。
構文(syntax)
1file_path = "example.txt" 2File.write(file_path, "This is a test file content.") 3File.truncate(file_path, 10) 4File.delete(file_path)
引数(parameters)
path, length
- path: string:Truncateするファイルパス
- length: integer:Truncateするバイト長
戻り値(return)
Integer
指定されたバイト数にファイルサイズを切り詰めた場合の、切り詰め後のファイルサイズ(バイト数)を返します。