uncompress a file and write it out to a new file - Maple Help

Online Help

All Products    Maple    MapleSim


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

FileTools[Compressed][Extract] - uncompress a file and write it out to a new file

Calling Sequence

Extract(sourcefilename, destfilename, opts)

Parameters

sourcefilename

-

string

destfilename

-

string

opts

-

options as specified below

Description

• 

Extract is an all-in-one command to open a file, uncompress it, and write the uncompressed data out to a new file.

• 

If sourcefilename is a zip archive and destfilename is a path, then all members of the zip archive will be extracted to the given path. To extract a single file from a zip archive, specify sourcefilename using the syntax "specificmember" in "filename.zip".

• 

If the option overwrite=true is given, then an error will not be raised if the file to be extracted already exists on disk. The default is false.

• 

If the option, includepath=true is given, then the subdirectory structure of the given zip file will be preserved in the extracted files.  If this option is set to false, then the subdirectory structure will be discarded during extraction.  It is undetermined which file will be written if there are multiple files with the same base name. The default is includepath=true.

Examples

Construct a file in zip format and extract from it.

zipfile := FileTools[TemporaryFilename](cat(FileTools[TemporaryDirectory](),kernelopts(dirsep),"GZtest-"),".zip");

zipfile:=/mnt/tmpfs/mpldoc_slot1/mpldoc1/GZtest-yYoYxV9R.zip

(1)

FileTools[Compressed][WriteFile]("first" in zipfile, "one");

3

(2)

FileTools[Compressed][WriteFile]("second" in zipfile, Array(1..50, 0, datatype=integer[1]));

50

(3)

FileTools[Compressed][Contents](zipfile);

first,second

(4)

Add directory structure to the zip file and extract it.

dir := FileTools[TemporaryFilename](cat(FileTools[TemporaryDirectory](),kernelopts(dirsep),"ztest-"));

dir:=/mnt/tmpfs/mpldoc_slot1/mpldoc1/ztest-bx70dpPu

(5)

FileTools:-MakeDirectory(dir);

FileTools[Compressed][Extract](zipfile,dir);

FileTools:-ListDirectory(dir);

second,first

(6)

FileTools:-Text:-ReadFile(cat(dir,"/first"));

one

(7)

FileTools:-Binary:-ReadFile(cat(dir,"/second"));

1 .. 50 ArrayData Type: integer1Storage: rectangularOrder: Fortran_order

(8)

FileTools[Remove](cat(dir,"/first"));

FileTools[Remove](cat(dir,"/second"));

FileTools:-ListDirectory(dir);

(9)

FileTools[Compressed][Extract]("first" in zipfile,dir);

FileTools:-ListDirectory(dir);

first

(10)

FileTools:-Text:-ReadFile(cat(dir,"/first"));

one

(11)

FileTools[Remove](cat(dir,"/first"));

FileTools[RemoveDirectory](dir,'forceremove');

FileTools[Remove](zipfile);

See Also

FileTools[Compressed], FileTools[Compressed][ReadFile], FileTools[Remove]


Download Help Document

Was this information helpful?



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