Difference between revisions of "ChucK/Dev/IO/FileIO"
From CSWiki
Line 7: | Line 7: | ||
; <code>fun int open(string path[, int flags])</code> : Opens the specified file, returning true on success and false otherwise. The flags can optionally be used to specify the mode in which to open the file (<code>FileIO.MODE_READ_WRITE | FileIO.MODE_ASCII</code> by default). | ; <code>fun int open(string path[, int flags])</code> : Opens the specified file, returning true on success and false otherwise. The flags can optionally be used to specify the mode in which to open the file (<code>FileIO.MODE_READ_WRITE | FileIO.MODE_ASCII</code> by default). | ||
; <code>fun void seek(int pos)</code> : Seeks to the specified byte offset from the start of the file. | ; <code>fun void seek(int pos)</code> : Seeks to the specified byte offset from the start of the file. | ||
+ | ; <code>fun int tell()</code> : Returns the current position of the file in bytes. | ||
; <code>fun int size()</code> : Returns the size of the file in bytes, or -1 if a file is not open. | ; <code>fun int size()</code> : Returns the size of the file in bytes, or -1 if a file is not open. | ||
Revision as of 15:02, 8 March 2008
The following is subject to change.
FileIO Class
The FileIO class is a subclass of the IO class. Only elements of the FileIO class that extend or override the parent class are listed here. Only files of up to 2 GiB in size are supported by this class.
Methods
-
fun int open(string path[, int flags])
- Opens the specified file, returning true on success and false otherwise. The flags can optionally be used to specify the mode in which to open the file (
FileIO.MODE_READ_WRITE | FileIO.MODE_ASCII
by default). -
fun void seek(int pos)
- Seeks to the specified byte offset from the start of the file.
-
fun int tell()
- Returns the current position of the file in bytes.
-
fun int size()
- Returns the size of the file in bytes, or -1 if a file is not open.
Directories
-
fun int isDir()
- Returns true if the opened file is a directory, false otherwise.
-
fun string[] dirList()
- Returns an array containing the names of each file in the opened directory, or an empty array if the opened file is not a directory.
Constants
-
FileIO.stdin
FileIO.stdout
- Pre-created files for reading from and writing to stdin and stdout.
-
FileIO.MODE_READ_WRITE
FileIO.MODE_READONLY
FileIO.MODE_WRITEONLY
FileIO.MODE_APPEND
- These flags can optionally be passed to the
open
function to specify the mode in which to open the file. -
FileIO.MODE_ASCII
FileIO.MODE_BINARY
- These flags can optionally be passed to the
open
function to specify whether reading and writing should proceed in ASCII (readable text) or binary mode.
Examples
- Functions to read and write an array of integers in binary mode.
fun void writeInts(int integers[], string path) {
// open the file
FileIO file;
if (!file.open(path, FileIO.MODE_WRITEONLY | FileIO.MODE_BINARY))
return; // error opening the specified file
// write out the size and contents of the array
file <- integers.size();
for (0 => int i; i < integers.size(); i++)
file <- integers[i];
// and we're done
file.close(); // automatically calls file.finish()
}
fun int[] readInts(string path) {
// open the file
FileIO file;
if (!file.open(path, FileIO.MODE_READONLY | FileIO.MODE_BINARY)) {
int ret[0]; // error opening the specified file
return ret;
}
// read the size of the array
file -> int size;
file.finish(); // wait for the read to finish without advancing time
// before continuing
// now read in the contents
int ret[size];
for (0 => int i; i < size; i++)
file -> ret[i];
// and we're done
file.close(); // automatically calls file.finish()
return ret;
}