org.python.modules._io

## Class PyFileIO

- java.lang.Object
- - org.python.core.PyObject
  - - org.python.modules._io.PyIOBase
    - - org.python.modules._io.PyRawIOBase
      - - org.python.modules._io.PyFileIO

All Implemented Interfaces:
  java.io.Serializable, FinalizableBuiltin, Traverseproc

Direct Known Subclasses:
  PyFileIODerived

    public class PyFileIO
    extends PyRawIOBase

See Also:
  Serialized Form

### Nested Class Summary

### Nested classes/interfaces inherited from class org.python.core.PyObject

`PyObject.ConversionException`

### Field Summary

Fields
`boolean` `closefd` Whether to close the underlying stream on closing this object.
`PyString` `mode` The mode as a PyString based on readable and writable
`static PyType` `TYPE`

### Fields inherited from class org.python.modules._io.PyRawIOBase

`read_doc, readall_doc, readinto_doc, write_doc`

### Fields inherited from class org.python.modules._io.PyIOBase

`close_doc, closed_doc, fileno_doc, flush_doc, isatty_doc, readable_doc, readline_doc, readlines_doc, seek_doc, seekable_doc, tell_doc, truncate_doc, writable_doc, writelines_doc`

### Fields inherited from class org.python.core.PyObject

`gcMonitorGlobal`

### Constructor Summary

Constructors
Constructor and Description
`PyFileIO(PyObject file, OpenMode mode, boolean closefd)` Construct an open `_io.FileIO` starting with an object that may be a file name or a file descriptor (actually a `RawIOBase`).
`PyFileIO(PyType subtype, PyObject file, OpenMode mode, boolean closefd)` Construct an open `_io.FileIO` for a sub-class constructor starting with an object that may be a file name or a file descriptor (actually a `RawIOBase`).

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `close()` Close the underlying ioDelegate only if `closefd` was specified as (or defaulted to) `True`.
`PyObject` `fileno()` Return a file descriptor for the stream.
`void` `flush()` Flush write buffers, or no-op for read-only and non-blocking streams.
`boolean` `isatty()` Is the stream known to be an interactive console?
`void` `mode_readonly(PyString value)`
`boolean` `readable()` Is the stream readable?
`PyObject` `readinto(PyObject buf)` Read up to `len(b)` bytes into `bytearray b` and return the number of bytes read.
`long` `seek(long pos, int whence)` Position the read or write pointer at a given byte offset `pos` relative to a position indicated by `whence`.
`boolean` `seekable()` Is the stream capable of positioning the read/write pointer?
`java.lang.String` `toString()`
`long` `truncate()` Truncate file to `size` bytes to the current position (as reported by `tell()`).
`long` `truncate(long size)` Truncate file to `size` bytes.
`boolean` `writable()` Is the stream writable?
`PyObject` `write(PyObject buf)` Write the given bytes or bytearray object to the underlying raw stream and return the number of bytes written.

### Methods inherited from class org.python.modules._io.PyRawIOBase

`read, readall`

### Methods inherited from class org.python.modules._io.PyIOBase

`__del_builtin__, __enter__, __exit__, __iter__, __iternext__, _checkClosed, _checkClosed, _checkReadable, _checkReadable, _checkSeekable, _checkSeekable, _checkWritable, _checkWritable, closed_readonly, closed, fastGetDict, next, readline, readline, readlines, refersDirectlyTo, seek, tell, traverse, writelines`

### Methods inherited from class org.python.core.PyObject

`__abs__, __add__, __and__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __cmp__, __coerce__, __coerce_ex__, __complex__, __contains__, __delattr__, __delattr__, __delete__, __delitem__, __delitem__, __delslice__, __delslice__, __dir__, __div__, __divmod__, __ensure_finalizer__, __eq__, __findattr__, __findattr__, __findattr_ex__, __finditem__, __finditem__, __finditem__, __float__, __floordiv__, __format__, __ge__, __get__, __getattr__, __getattr__, __getitem__, __getitem__, __getnewargs__, __getslice__, __getslice__, __gt__, __hash__, __hex__, __iadd__, __iand__, __idiv__, __idivmod__, __ifloordiv__, __ilshift__, __imod__, __imul__, __index__, __int__, __invert__, __ior__, __ipow__, __irshift__, __isub__, __itruediv__, __ixor__, __le__, __len__, __long__, __lshift__, __lt__, __mod__, __mul__, __ne__, __neg__, __nonzero__, __not__, __oct__, __or__, __pos__, __pow__, __pow__, __radd__, __rand__, __rdiv__, __rdivmod__, __reduce__, __reduce_ex__, __reduce_ex__, __repr__, __rfloordiv__, __rlshift__, __rmod__, __rmul__, __ror__, __rpow__, __rrshift__, __rshift__, __rsub__, __rtruediv__, __rxor__, __set__, __setattr__, __setattr__, __setitem__, __setitem__, __setitem__, __setslice__, __setslice__, __str__, __sub__, __tojava__, __truediv__, __trunc__, __unicode__, __xor__, _add, _and, _callextra, _cmp, _div, _divmod, _doget, _doget, _doset, _eq, _floordiv, _ge, _gt, _iadd, _iand, _idiv, _idivmod, _ifloordiv, _ilshift, _imod, _imul, _in, _ior, _ipow, _irshift, _is, _isnot, _isub, _itruediv, _ixor, _jcall, _jcallexc, _jthrow, _le, _lshift, _lt, _mod, _mul, _ne, _notin, _or, _pow, _rshift, _sub, _truediv, _xor, asDouble, asIndex, asIndex, asInt, asInt, asIterable, asLong, asLong, asName, asName, asString, asString, asStringOrNull, asStringOrNull, bit_length, conjugate, delDict, delType, dispatch__init__, equals, fastGetClass, getDict, getType, hashCode, implementsDescrDelete, implementsDescrGet, implementsDescrSet, invoke, invoke, invoke, invoke, invoke, invoke, isCallable, isDataDescr, isIndex, isInteger, isMappingType, isNumberType, isSequenceType, noAttributeError, object___subclasshook__, readonlyAttributeError, setDict, setType`

### Methods inherited from class java.lang.Object

`getClass, notify, notifyAll, wait, wait, wait`

### Field Detail

#### TYPE

    public static final PyType TYPE

#### closefd

    public final boolean closefd

Whether to close the underlying stream on closing this object.

#### mode

    public final PyString mode

The mode as a PyString based on readable and writable

### Constructor Detail

#### PyFileIO

    public PyFileIO(PyObject file,
                    OpenMode mode,
                    boolean closefd)

Construct an open `_io.FileIO` starting with an object that may be a file name or a file descriptor (actually a `RawIOBase`). Only the relevant flags within the parsed mode object are consulted (so that flags meaningful to this sub-class need not be processed out).

Parameters:
  `file` - path or descriptor on which this should be constructed
  `mode` - type of access specified
  `closefd` - if `false`, do not close `fd` on call to `close()`

#### PyFileIO

    public PyFileIO(PyType subtype,
                    PyObject file,
                    OpenMode mode,
                    boolean closefd)

Construct an open `_io.FileIO` for a sub-class constructor starting with an object that may be a file name or a file descriptor (actually a `RawIOBase`). Only the relevant flags within the parsed mode object are consulted (so that flags meaningful to this sub-class need not be processed out).

Parameters:
  `subtype` - for which construction is occurring
  `file` - path or descriptor on which this should be constructed
  `mode` - type of access specified
  `closefd` - if `false`, do not close `file` on call to `close()`

### Method Detail

#### mode_readonly

    public final void mode_readonly(PyString value)

#### readinto

    public PyObject readinto(PyObject buf)

Description copied from class: `PyRawIOBase`
Read up to `len(b)` bytes into `bytearray b` and return the number of bytes read. If the object is in non-blocking mode and no bytes are available, `None` is returned.";

Overrides:
  `readinto` in class `PyRawIOBase`
Parameters:
  `buf` - byte array to try to fill
Returns:
  number of bytes actually read or `Py.None` (when a non-blocking source is not ready with further data)

#### write

    public PyObject write(PyObject buf)

Description copied from class: `PyRawIOBase`
Write the given bytes or bytearray object to the underlying raw stream and return the number of bytes written.

Overrides:
  `write` in class `PyRawIOBase`
Parameters:
  `buf` - buffer of bytes to be written
Returns:
  the number of bytes written

#### seek

    public long seek(long pos,
                     int whence)

Description copied from class: `PyIOBase`
Position the read or write pointer at a given byte offset `pos` relative to a position indicated by `whence`.

- If `whence`=0, the position will be set to `pos` bytes.
- If `whence`=1 the position will be set to the current position plus `pos`.
- If `whence`=2 the position will be set to the stream size plus `pos` (and usually `pos`<=0).

Overrides:
  `seek` in class `PyIOBase`
Parameters:
  `pos` - relative to the specified point
  `whence` - 0=from start, 1=from here, 2=from end
Returns:
  the new current position

#### truncate

    public long truncate()

Description copied from class: `PyIOBase`
Truncate file to `size` bytes to the current position (as reported by `tell()`).

Overrides:
  `truncate` in class `PyIOBase`
Returns:
  the new size

#### truncate

    public long truncate(long size)

Description copied from class: `PyIOBase`
Truncate file to `size` bytes.

Overrides:
  `truncate` in class `PyIOBase`
Parameters:
  `size` - requested for stream
Returns:
  the new size

#### close

    public void close()

Close the underlying ioDelegate only if `closefd` was specified as (or defaulted to) `True`.

Overrides:
  `close` in class `PyIOBase`

#### seekable

    public boolean seekable()

Description copied from class: `PyIOBase`
Is the stream capable of positioning the read/write pointer?

Overrides:
  `seekable` in class `PyIOBase`
Returns:
  `True` if may be positioned

#### readable

    public boolean readable()
                     throws PyException

Description copied from class: `PyIOBase`
Is the stream readable?

Overrides:
  `readable` in class `PyIOBase`
Returns:
  `true` if readable
Throws:
  `PyException` - `ValueError` if the object is closed to client operations

#### writable

    public boolean writable()
                     throws PyException

Description copied from class: `PyIOBase`
Is the stream writable?

Overrides:
  `writable` in class `PyIOBase`
Returns:
  `true` if writable
Throws:
  `PyException` - `ValueError` if the object is closed to client operations

#### fileno

    public PyObject fileno()

Description copied from class: `PyIOBase`
Return a file descriptor for the stream. A CPython file descriptor is an int, but this is not the natural choice in Jython, since Java has no such convention of using integers. File descriptors should be passed around opaquely, so their actual type is irrelevant, as long as (say) `_jyio.open(PyObject[], String[])` accepts the type that `RawIOBase.fileno()` returns.

Overrides:
  `fileno` in class `PyIOBase`
Returns:
  a file descriptor (as opaque object)

#### isatty

    public boolean isatty()

Description copied from class: `PyIOBase`
Is the stream known to be an interactive console? This relies on the ability of the underlying stream to know, which is not always possible.

Overrides:
  `isatty` in class `PyIOBase`
Returns:
  `true` if a console: `false` if not or we can't tell

#### flush

    public void flush()

Description copied from class: `PyIOBase`
Flush write buffers, or no-op for read-only and non-blocking streams. Irrespective of the concrete type of the i/o object, locally-buffered write data is written downstream. Whether the downstream in object is also flushed depends upon the specific type of this object.

Overrides:
  `flush` in class `PyIOBase`

#### toString

    public java.lang.String toString()

Overrides:
  `toString` in class `PyObject`