vibe.d beta banner
get vibe.d

Asynchronous I/O that doesn’t get in your way, written in D

Interface FileStream

Accesses the contents of a file as a stream.

interface FileStream
  : RandomAccessStream ;


isOpen[get]boolDetermines if the file stream is still open
path[get]PathThe path of the file.
dataAvailableForRead[get]boolQueries if there is data available for immediate, non-blocking read.
empty[get]boolReturns true iff the end of the input stream has been reached.
leastSize[get]ulongReturns the maximum number of bytes that are known to remain in this stream until the end is reached. After leastSize() bytes have been read, the stream will either have reached EOS and empty() returns true, or leastSize() returns again a number > 0.
readable[get]boolDetermines if this stream is readable.
size[get]ulongReturns the total size of the file.
writable[get]boolDetermines if this stream is writable.


closeCloses the file handle.
finalizeFlushes and finalizes the stream.
flushFlushes the stream and makes sure that all data is being written to the output device.
peekReturns a temporary reference to the data that is currently buffered.
readFills the preallocated array 'bytes' with data from the stream.
seekSeeks to a specific position in the file if supported by the stream.
tellReturns the current offset of the file pointer
writeWrites an array of bytes to the stream.
writeWrites an array of chars to the stream.
writePipes an InputStream directly into this OutputStream.

Sönke Ludwig


© 2012-2014 RejectedSoftware e.K.


Subject to the terms of the MIT license, as written in the included LICENSE.txt file.