A write-only IO object to compress data in the xz format.
Instances of this class wrap another IO object. When you write to this
instance, it compresses the data and writes it to the underlying IO.
NOTE: unless created with a block, close must be invoked after all
data has been written to a Gzip::Writer instance.
Example: compress a file
require "xz"
File.write("file.txt", "abcd")
File.open("./file.txt", "r") do |input_file|
File.open("./file.xz", "w") do |output_file|
Compress::XZ::Writer.open(output_file) do |xz|
IO.copy(input_file, xz)
end
end
end
Constructors
new(output :
IO, preset :
Int32 =
PRESET::DEFAULT_COMPRESSION, sync_close :
Bool = false)
Creates an instance of XZ::Writer. close must be invoked after all data
has written.
Sourcenew(filename :
String, preset :
Int32 =
PRESET::DEFAULT_COMPRESSION)
Creates a new writer to the given filename.
SourceClass methods
open(io :
IO, preset :
Int32 =
PRESET::DEFAULT_COMPRESSION, sync_close :
Bool = false, &)
Creates a new writer for the given io, yields it to the given block,
and closes it at its end.
Sourceopen(io :
IO, preset :
Int32 =
PRESET::DEFAULT_COMPRESSION, sync_close = false, &)
Creates a new writer to the given io, yields it to the given block,
and closes it at the end.
Sourceopen(filename :
String, preset :
Int32 =
PRESET::DEFAULT_COMPRESSION, &)
Creates a new writer to the given filename, yields it to the given block,
and closes it at the end.
SourceInstance methods
close
Closes this writer. Must be invoked after all data has been written.
Sourceclosed?
Returns true if this IO is closed.
SourceAlways raises IO::Error because this is a write-only IO.
Sourcesync_close=(sync_close :
Bool)
If #sync_close? is true, closing this IO will close the underlying IO.
Sourcesync_close?
If #sync_close? is true, closing this IO will close the underlying IO.
Source