uses io.InputStream, io.OutputStream interface FileOutput extends OutputStream { close() } interface FileInput extends InputStream { close() } read(filename: string): FileInput // Open the named file for reading. Return null on failure. create(filename: string): FileOutput // If the file does not exist, create it and return a FileOutput that // will write to the file. If the file cannot be created, return null. append(filename: string): FileOutput // If the file can be opened, return a FileOutput that appends to it. // Otherwise, return null. remove(filename: string): bool // Remove the file and return true if successful