Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > zlibライブラリ > Zlib::GzipWriterクラス

class Zlib::GzipWriter

クラスの継承リスト: Zlib::GzipWriter < Zlib::GzipFile < Object < Kernel

要約

gzip 形式の圧縮ファイルを書き出すラッパークラスです。 IO クラスのインスタンス (又は IO クラスのインスタンスと同じメソッドを 持つオブジェクト) と関連付けて使用します。

Zlib::GzipWriter.open('hoge.gz') {|gz|
  gz.write 'jugemu jugemu gokou no surikire...'
}

f = File.open('hoge.gz', 'w')
gz = Zlib::GzipWriter.new(f)
gz.write 'jugemu jugemu gokou no surikire...'
gz.close

なお、Ruby の finalizer の制約のため、GzipWriter オブジェクトは必ず Zlib::GzipWriter#close 等を用いてクローズしてください。 そうしなければフッターを書き出すことができず、壊れた gzip ファイルを 生成してしまう可能性があります。

特異メソッド

定義 説明
new(io, level = Zlib::DEFAULT_COMPRESSION, strategy = Zlib::DEFAULT_STRATEGY) -> Zlib::GzipWriter

io と関連付けられた GzipWriter オブジェクトを作成します。 level, strategy は Zlib::Deflate.new と同じです。 GzipWriter オブジェクトは io に gzip 形式のデータを 逐次ライトします。io には少なくとも、IO#write と 同じ動作をする write メソッドが定義されている必要があります。

open(filename, level = Zlib::DEFAULT_COMPRESSION, strategy = Zlib::DEFAULT_STRATEGY) -> Zlib::GzipWriter
open(filename, level = Zlib::DEFAULT_COMPRESSION, strategy = Zlib::DEFAULT_STRATEGY) {|gz| ... } -> object

filename で指定されるファイルを gzip 圧縮データの 書き出し用にオープンします。GzipWriter オブジェクトを返します。 その他詳細は Zlib::GzipWriter.newZlib::GzipWriter.wrap と 同じです。

wrap(io, level = Zlib::DEFAULT_COMPRESSION, strategy = Zlib::DEFAULT_STRATEGY) -> Zlib::GzipWriter
wrap(io, level = Zlib::DEFAULT_COMPRESSION, strategy = Zlib::DEFAULT_STRATEGY) {|gz| ... } -> object

io と関連付けられた GzipWriter オブジェクトを作成します。 ブロックが与えられた場合、 それを引数としてブロックを実行します。 ブロックの実行が終了すると、GzipWriter オブジェクトは自動的に クローズされます。関連付けられている IO オブジェクトまで クローズしたくない時は、ブロック中で Zlib::GzipFile#finish メソッドを呼び出して下さい。

インスタンスメソッド

定義 説明
self << str -> self

str を出力します。str が文字列でない場合は to_s を用いて 文字列に変換します。

close -> File
finish -> File

フッターを書き出し、GzipWriter オブジェクトをクローズします。close と finish の違いは Zlib::GzipFile#close, Zlib::GzipFile#finish を 参照して下さい。

comment=(string)

gzip ファイルのヘッダーに記録するコメントを指定します。

flush(flush = Zlib::SYNC_FLUSH) -> self

まだ書き出されていないデータをフラッシュします。

mtime=(time)

gzip ファイルのヘッダーに記録する最終更新時間を指定します。

orig_name=(filename)

gzip ファイルのヘッダーに記録する元ファイル名を指定します。

pos -> Fixnum
tell -> Fixnum

現在までに圧縮したデータの長さの合計を返します。 ファイルポインタの位置ではないことに注意して下さい。

print(*str) -> nil

引数を自身に順に出力します。引数を省略した場合は、$_ を出力します。

printf(format, *args) -> nil

C 言語の printf と同じように、format に従い引数 を文字列に変換して、自身に出力します。

putc(ch) -> object

文字 ch を自身に出力します。

puts(*str) -> nil

各引数を自身に出力し、それぞれの後に改行を出力します。

write(str) -> Integer

自身に str を出力します。str が文字列でなけ れば to_s による文字列化を試みます。

継承したメソッド

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint closed? comment crc level mtime orig_name os_code sync