| gzcon {base} | R Documentation |
gzcon provides a modified connection that wraps an existing
connection, and decompresses reads or compresses writes through that
connection. Standard gzip headers are assumed.
gzcon(con, level = 6, allowNonCompressed = TRUE)
con |
a connection. |
level |
integer between 0 and 9, the compression level when writing. |
allowNonCompressed |
logical. When reading, should non-compressed input be allowed? |
If con is open then the modified connection is opened. Closing
the wrapper connection will also close the underlying connection.
Reading from a connection which does not supply a gzip magic
header is equivalent to reading from the original connection if
allowNonCompressed is true, otherwise an error.
The original connection becomes unusable: any object pointing to it will now refer to the modified connection.
An object inheriting from class "connection". This is the same
connection number as supplied, but with a modified internal
structure. It has binary mode.
## Uncompress a data file from a URL
z <- gzcon(url("http://www.stats.ox.ac.uk/pub/datasets/csb/ch12.dat.gz"))
# read.table can only read from a text-mode connection.
raw <- textConnection(readLines(z))
close(z)
dat <- read.table(raw)
close(raw)
dat[1:4, ]
## gzfile and gzcon can inter-work.
## Of course here one would used gzfile, but file() can be replaced by
## any other connection generator.
zz <- gzfile("ex.gz", "w")
cat("TITLE extra line", "2 3 5 7", "", "11 13 17", file = zz, sep = "\n")
close(zz)
readLines(zz <- gzcon(file("ex.gz", "rb")))
close(zz)
unlink("ex.gz")
zz <- gzcon(file("ex2.gz", "wb"))
cat("TITLE extra line", "2 3 5 7", "", "11 13 17", file = zz, sep = "\n")
close(zz)
readLines(zz <- gzfile("ex2.gz"))
close(zz)
unlink("ex2.gz")