home *** CD-ROM | disk | FTP | other *** search
- /* REXX
- **
- ** This example demonstrates the basic file functions:
- **
- ** - check for existence of file
- **
- ** - open file for writing
- ** - write data to file
- ** - close file
- **
- ** - open file for reading
- ** - read data and check for end of file
- ** - close file
- **
- */
-
- /* ------------------------------------------------------------------ */
-
- /* the STREAM(,"C","QUERY EXISTS") function call can be used to check */
- /* if a file for exists. */
-
- IF STREAM("SOME.TXT", "C", "QUERY EXISTS")\="" THEN DO
- /* file exists, so delete it */
- ADDRESS CMD "DEL SOME.TXT"
- END
-
- /* ------------------------------------------------------------------ */
-
- /* the STREAM(,"C","OPEN WRITE") call is used to open a file. */
- CALL STREAM "SOME.TXT", "C", "OPEN WRITE"
-
- /* the LINEOUT call writes data to a file. Instead of a file handle, */
- /* the file name is used. */
-
- CALL LINEOUT "SOME.TXT", "THIS IS A LINE OF TEXT"
- CALL LINEOUT "SOME.TXT", "THIS IS SOME MORE TEXT"
- CALL LINEOUT "SOME.TXT", ""
- CALL LINEOUT "SOME.TXT", "MORE STUFF AFTER AN EMPTY LINE"
-
- /* the STREAM call can be used to close a file. */
- CALL STREAM "SOME.TXT", "C", "CLOSE"
-
- /* ------------------------------------------------------------------ */
-
- /* now we open the file again and read the data back in via LINEIN */
- /* function. End-Of-File is detected via STREAM(,"S") function */
-
- CALL STREAM "SOME.TXT", "C", "OPEN READ"
-
- DO FOREVER
- /* read one line of text */
- line= LINEIN("SOME.TXT")
-
- /* leave if EOF was reached (stream no longer READY) */
- IF STREAM("SOME.TXT", "S")\="READY" THEN DO
- LEAVE
- END
-
- /* print line */
- SAY "->"line
- END
-
- CALL STREAM "SOME.TXT", "C", "CLOSE"
-
- /* ------------------------------------------------------------------ */
-
- EXIT
-
-