The QUERY method can do more than check for the existence of a file. It can return date and time stamps, read position, write position, the size of the file, and so on. The following example shows most of the QUERY arguments.
/* INFOON.CMD -- display information about a file */
parse arg fid
qfile=.stream~new(fid)
fullpath=qfile~query('exists')
if fullpath='' then do
say fid 'does not exist.'
exit
end
qfile~open('both')
say ''
say 'Full path name:' fullpath
say 'Date and time stamps (U.S. format):' qfile~query('datetime')
say ' (International format):' qfile~query('timestamp')
say ''
say 'Handle associated with stream:' qfile~query('handle')
say ' Stream type:' qfile~query('streamtype')
say ''
say ' Size of the file (characters):' qfile~query('size')
say ' Read position (in terms of characters):' qfile~query('seek
read')
say 'Write position (in terms of characters):' qfile~query('seek
write') qfile~close