#

## 20.1.2 File Operations on Open and Closed Streams

Many functions that perform file operations accept either open or closed streams as arguments; see Section 21.1.3 (Stream Arguments to Standardized Functions).

Of these, the functions in the next figure treat open and closed streams differently.

    delete-file  file-author      probe-file
    directory    file-write-date  truename

Figure 20-2. File Functions that Treat Open and Closed Streams Differently

Since treatment of open streams by the file system may vary considerably between implementations, however, a closed stream might be the most reliable kind of argument for some of these functions---in particular, those in the next figure. For example, in some file systems, open files are written under temporary names and not renamed until closed and/or are held invisible until closed. In general, any code that is intended to be portable should use such functions carefully.

    directory  probe-file  truename

Figure 20-3. File Functions where Closed Streams Might Work Best

The following X3J13 cleanup issue, not part of the specification, applies to this section:

- CLOSED-STREAM-OPERATIONS:ALLOW-INQUIRY

Copyright 1996-2005, LispWorks Ltd. All rights reserved.