read an entire compressed file - Maple Help

Online Help

All Products    Maple    MapleSim


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

FileTools[Compressed][ReadFile] - read an entire compressed file

Calling Sequence

ReadFile(filename, outputtype, opts)

Parameters

filename

-

string or string:string

outputtype

-

(optional) either string, ByteArray, or 'Array'(m,n,hwdatatype)

opts

-

(optional) options as specified below

Description

• 

ReadFile is an all-in-one command to open a file, read and decompress its data, and close the file.

• 

If the given file is in zip format, and an in-zip name is not specified (using inzipname in zipfilename), then the first member of the zip archive is read.

• 

If the second parameter, outputtype, is string then the contents of the file are returned as a string.

• 

If the outputtype is not specified and the in-zip file name ends in ".m", then the contents of the zip file will be parsed as if they were in Maple's internal object format.  

• 

If the outputtype is not specified and the in-zip file name ends in ".mpl", then the contents of the zip file will be parsed as if they were a single Maple-syntax text command.

• 

If outputtype is Array, then m and n are integers specifying the dimensions of the Array.  The dimensions are optional, and one or more can be set.  The hwdatatype indicates one of the integer[], float[], or complex[] datatype variations accepted by the 'datatype' option of the Array command.

• 

If outputtype is set to bytes or does not match any of the above criteria then an Array of datatype integer[1] is returned.

Examples

Read from a file in gzip format.

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

file:=/mnt/tmpfs/mpldoc_slot1/mpldoc1/GZtest-yYoYxV9R

(1)

FileTools[Compressed][WriteFile](file, "This is a test");

14

(2)

FileTools[Compressed][ReadFile](file, string);

This is a test

(3)

FileTools[Compressed][WriteFile](file, Array(1..50, 0, datatype=integer[1]));

50

(4)

FileTools[Compressed][ReadFile](file);

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

(5)

FileTools[Remove](file);

Read from a file in zip format.

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

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

(6)

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

3

(7)

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

50

(8)

FileTools[Compressed][Contents](zipfile);

first,second

(9)

FileTools[Compressed][ReadFile](zipfile, string);

one

(10)

FileTools[Compressed][ReadFile]("second" in zipfile);

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

(11)

FileTools[Remove](zipfile);

See Also

FileTools[Compressed], FileTools[Compressed][WriteFile], FileTools[Remove], StringTools[FromByteArray]


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