Class PyFileIO

All Implemented Interfaces:
Serializable, FinalizableBuiltin, Traverseproc
Direct Known Subclasses:
PyFileIODerived

public class PyFileIO extends PyRawIOBase
See Also:
  • Field Details

    • 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 Details

    • 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 Details

    • 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 String toString()
      Overrides:
      toString in class PyObject