read a regular file and write it out as a compressed file - Maple Help

# Online Help

###### All Products    Maple    MapleSim

Home : Support : Online Help : Programming : Input and Output : File Manipulation : FileTools : FileTools/Compressed/ReadWriteFile

FileTools[Compressed][ReadWriteFile] - read a regular file and write it out as a compressed file

 Calling Sequence ReadWriteFile(target_filename, source_filename)

Parameters

 target_filename - string, string in string, or integer file handle source_filename - string or list of strings

Description

 • ReadWriteFile is an all-in-one command to open a file, read all its data, compress, and write it out to another file.  This is done in small blocks, so the input data does not have to be read into the memory all at once.
 • When target_filename is a zip file, the source_filename can be a directory.  In this case, the entire contents of that directory plus all subdirectories, are added to the zip archive.
 • The in-zip file names are copied to match the on-disk filenames minus the base directory path.
 • Since gzip format files cannot contain multiple sub-files, source_filename must be a single string.

Examples

 > zipfile := FileTools[TemporaryFilename](cat(FileTools[TemporaryDirectory](),kernelopts(dirsep),"GZtest-"),".zip");
 ${\mathrm{zipfile}}{:=}{"/mnt/tmpfs/mpldoc_slot1/mpldoc1/GZtest-yYoYxV9R.zip"}$ (1)
 > sourcedir := cat(kernelopts(mapledir),"/data/xml/schema");
 ${\mathrm{sourcedir}}{:=}{"/usr/local/repository/build/maple/slot1/data/xml/schema"}$ (2)
 > FileTools:-Compressed:-ReadWriteFile(zipfile,sourcedir);
 > FileTools:-Compressed:-Contents(zipfile);
 $\left[{"schema/worksheet/text.xsd"}{,}{"schema/worksheet/worksheet.dtd"}{,}{"schema/worksheet/rtables.xsd"}{,}{"schema/worksheet/plots.xsd"}{,}{"schema/worksheet/spread.xsd"}{,}{"schema/worksheet/worksheet.xsd"}{,}{"schema/worksheet/common.xsd"}{,}{"schema/worksheet/styles.xsd"}{,}{"schema/worksheet/options.xsd"}{,}{"schema/worksheet/containers.xsd"}{,}{"schema/mw/mw.xsd"}\right]$ (3)
 > FileTools:-Compressed:-Read("schema/worksheet/worksheet.xsd" in zipfile, string, 250);
 ${" (4)
 > FileTools[Remove](zipfile);

## Was this information helpful?

 Please add your Comment (Optional) E-mail Address (Optional) What is ? This question helps us to combat spam