# MemoryFile #
Parent classes: [File](file.md)
A `MemoryFile` is a particular `File` which is able to perform basic
read/write operations on a buffer in `RAM`. It implements all methods
described in [File](file.md).
The data of the `File` is contained into a `NULL` terminated
[CharStorage](storage.md).
### torch.MemoryFile([mode]) ###
_Constructor_ which returns a new `MemoryFile` object using `mode`. Valid
`mode` are `"r"` (read), `"w"` (write) or `"rw"` (read-write). Default is `"rw"`.
### torch.MemoryFile(storage, mode) ###
_Constructor_ which returns a new `MemoryFile` object, using the given
[storage](storage.md) (which must be a `CharStorage`) and `mode`. Valid
`mode` are `"r"` (read), `"w"` (write) or `"rw"` (read-write). The last character
in this storage _must_ be `NULL` or an error will be generated. This allows
to read existing memory. If used for writing, note that the `storage` might
be resized by this class if needed.
### [CharStorage] storage() ###
Returns the [storage](storage.md) which contains all the data of the
`File` (note: this is _not_ a copy, but a _reference_ on this storage). The
size of the storage is the size of the data in the `File`, plus one, the
last character being `NULL`.
### longSize([size]) ###
Longs will be written and read from the file as `size` bytes long, which
can be 0, 4 or 8. 0 means system default.