Compressing and uncompressing text files
These functions are adapted from the R.utils
package from gzip to xz. Internally
xzfile()
(see connections) is used to read (write) chunks to (from) the xz file. If the
process is interrupted before completed, the partially written output file is automatically removed.
xzcompress( filename, destname = sprintf("%s.xz", filename), temporary = FALSE, skip = FALSE, overwrite = FALSE, remove = TRUE, BFR.SIZE = 1e+07, compression = 6, ... ) xzuncompress( filename, destname = gsub("[.]xz$", "", filename, ignore.case = TRUE), temporary = FALSE, skip = FALSE, overwrite = FALSE, remove = TRUE, BFR.SIZE = 1e+07, ... )
filename |
Path name of input file. |
destname |
Pathname of output file. |
temporary |
If TRUE, the output file is created in a temporary directory. |
skip |
If TRUE and the output file already exists, the output file is returned as is. |
overwrite |
If TRUE and the output file already exists, the file is silently overwritting, otherwise an exception is thrown (unless skip is TRUE). |
remove |
If TRUE, the input file is removed afterward, otherwise not. |
BFR.SIZE |
The number of bytes read in each chunk. |
compression |
The compression level used (1-9). |
... |
Not used. |
Returns the pathname of the output file. The number of bytes processed is returned as an attribute.
Kristian Hovde Liland.
# Creating small file tf <- tempfile() cat(file=tf, "Hello world!") # Compressing tf.xz <- xzcompress(tf) print(file.info(tf.xz)) # Uncompressing tf <- xzuncompress(tf.xz) print(file.info(tf)) file.remove(tf)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.