Package org.python.core

# Class PyFile

java.lang.Object
org.python.core.PyObject
org.python.core.PyFile

All Implemented Interfaces:
  `Serializable`, `FinalizableBuiltin`, `Traverseproc`

Direct Known Subclasses:
  `PyFileDerived`

public class PyFile extends PyObject implements FinalizableBuiltin, Traverseproc
The Python file type. Wraps an `TextIOBase` object.

See Also:
  - Serialized Form

## Nested Class Summary

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

`PyObject.ConversionException`

## Field Summary

Fields
Modifier and Type
Field
Description
`String`
`encoding`
`String`
`errors`
`String`
`mode`
The mode string
`PyObject`
`name`
The filename
`boolean`
`softspace`
Indicator dictating whether a space should be written to this file on the next print statement (not currently implemented in print )
`static final PyType`
`TYPE`

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

`gcMonitorGlobal`

## Constructor Summary

Constructors
Constructor
Description
`PyFile()`
`PyFile(InputStream istream)`
`PyFile(InputStream istream, int bufsize)`
`PyFile(InputStream istream, String mode)`
`PyFile(InputStream istream, String mode, int bufsize)`
Creates a file object wrapping the given `InputStream`.
`PyFile(InputStream istream, String name, String mode, int bufsize, boolean closefd)`
`PyFile(OutputStream ostream)`
`PyFile(OutputStream ostream, int bufsize)`
`PyFile(OutputStream ostream, String mode, int bufsize)`
Creates a file object wrapping the given `OutputStream`.
`PyFile(OutputStream ostream, String name, String mode, int bufsize, boolean closefd)`
`PyFile(String name, String mode, int bufsize)`
`PyFile(RawIOBase raw, String name, String mode, int bufsize)`
`PyFile(PyType subType)`

## Method Summary

Modifier and Type
Method
Description
`void`
`__del_builtin__()`
`FinalizableBuiltin.__del_builtin__()` is the built-in's own finalizer, while `FinalizablePyObjectDerived.__del_derived__()` refers to an instance's in-dict `__del__`.
`PyObject`
`__enter__()`
`void`
`__exit__(PyObject type, PyObject value, PyObject traceback)`
`PyObject`
`__iter__()`
Return an iterator that is used to iterate the element of this sequence.
`PyObject`
`__iternext__()`
Return the next element of the sequence that this is an iterator for.
`Object`
`__tojava__(Class<?> cls)`
Equivalent to the Jython __tojava__ method.
`void`
`close()`
`void`
`delSoftspace()`
`PyObject`
`fileno()`
`void`
`flush()`
`boolean`
`getClosed()`
`PyObject`
`getNewlines()`
`PyObject`
`getSoftspace()`
`boolean`
`isatty()`
`PyObject`
`next()`
`PyString`
`read()`
`PyString`
`read(int size)`
`int`
`readinto(PyObject buf)`
`PyString`
`readline()`
`PyString`
`readline(int max)`
`PyObject`
`readlines()`
`PyObject`
`readlines(int sizehint)`
`boolean`
`refersDirectlyTo(PyObject ob)`
Optional operation.
`void`
`seek(long pos)`
`void`
`seek(long pos, int how)`
`void`
`setSoftspace(PyObject obj)`
`long`
`tell()`
`String`
`toString()`
`int`
`traverse(Visitproc visit, Object arg)`
Traverses all directly contained `PyObject`s.
`void`
`truncate()`
`void`
`truncate(long position)`
`void`
`write(String string)`
`void`
`writelines(PyObject lines)`
`PyObject`
`xreadlines()`

### 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__, __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, fastGetDict, 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 Details

### TYPE

public static final PyType TYPE

### name

public PyObject name
The filename

### mode

public String mode
The mode string

### encoding

public String encoding

### errors

public String errors

### softspace

public boolean softspace
Indicator dictating whether a space should be written to this file on the next print statement (not currently implemented in print )

## Constructor Details

### PyFile

public PyFile()

### PyFile

public PyFile(PyType subType)

### PyFile

public PyFile(RawIOBase raw, String name, String mode, int bufsize)

### PyFile

public PyFile(InputStream istream, String name, String mode, int bufsize, boolean closefd)

### PyFile

public PyFile(InputStream istream, String mode, int bufsize)
Creates a file object wrapping the given `InputStream`. The builtin method `file` doesn't expose this functionality (`open` does albeit deprecated) as it isn't available to regular Python code. To wrap an InputStream in a file from Python, use `FileUtil.wrap(InputStream, String, int)` `FileUtil.wrap(InputStream, String)` `FileUtil.wrap(InputStream, int)` `FileUtil.wrap(InputStream)`

### PyFile

public PyFile(InputStream istream, String mode)

### PyFile

public PyFile(InputStream istream, int bufsize)

### PyFile

public PyFile(InputStream istream)

### PyFile

public PyFile(OutputStream ostream, String name, String mode, int bufsize, boolean closefd)

### PyFile

public PyFile(OutputStream ostream, String mode, int bufsize)
Creates a file object wrapping the given `OutputStream`. The builtin method `file` doesn't expose this functionality (`open` does albeit deprecated) as it isn't available to regular Python code. To wrap an OutputStream in a file from Python, use `FileUtil.wrap(OutputStream, String, int)` `FileUtil.wrap(OutputStream, String)` `FileUtil.wrap(OutputStream, int)` `FileUtil.wrap(OutputStream)`

### PyFile

public PyFile(OutputStream ostream, int bufsize)

### PyFile

public PyFile(OutputStream ostream)

### PyFile

public PyFile(String name, String mode, int bufsize)

## Method Details

### read

public PyString read(int size)

### read

public PyString read()

### readinto

public int readinto(PyObject buf)

### readline

public PyString readline(int max)

### readline

public PyString readline()

### readlines

public PyObject readlines(int sizehint)

### readlines

public PyObject readlines()

### __iternext__

public PyObject __iternext__()
Description copied from class: `PyObject`
Return the next element of the sequence that this is an iterator for. Returns null when the end of the sequence is reached.

Overrides:
  `__iternext__` in class `PyObject`

### next

public PyObject next()

### __enter__

public PyObject __enter__()

### __iter__

public PyObject __iter__()
Description copied from class: `PyObject`
Return an iterator that is used to iterate the element of this sequence. From version 2.2, this method is the primary protocol for looping over sequences.

If a PyObject subclass should support iteration based in the __finditem__() method, it must supply an implementation of __iter__() like this:

     public PyObject __iter__() {
         return new PySequenceIter(this);
     }

When iterating over a python sequence from java code, it should be done with code like this:

     for (PyObject item : seq.asIterable()) {
         // Do something with item
     }

Overrides:
  `__iter__` in class `PyObject`

### xreadlines

public PyObject xreadlines()

### write

public void write(String string)

### writelines

public void writelines(PyObject lines)

### tell

public long tell()

### seek

public void seek(long pos, int how)

### seek

public void seek(long pos)

### flush

public void flush()

### close

public void close()

### __exit__

public void __exit__(PyObject type, PyObject value, PyObject traceback)

### truncate

public void truncate(long position)

### truncate

public void truncate()

### isatty

public boolean isatty()

### fileno

public PyObject fileno()

### toString

public String toString()

Overrides:
  `toString` in class `PyObject`

### getClosed

public boolean getClosed()

### getNewlines

public PyObject getNewlines()

### getSoftspace

public PyObject getSoftspace()

### setSoftspace

public void setSoftspace(PyObject obj)

### delSoftspace

public void delSoftspace()

### __tojava__

public Object __tojava__(Class<?> cls)
Description copied from class: `PyObject`
Equivalent to the Jython __tojava__ method. Tries to coerce this object to an instance of the requested Java class. Returns the special object `Py.NoConversion` if this `PyObject` can not be converted to the desired Java class.

Overrides:
  `__tojava__` in class `PyObject`
Parameters:
  `cls` - the Class to convert this `PyObject` to.

### __del_builtin__

public void __del_builtin__()
Description copied from interface: `FinalizableBuiltin`
`FinalizableBuiltin.__del_builtin__()` is the built-in's own finalizer, while `FinalizablePyObjectDerived.__del_derived__()` refers to an instance's in-dict `__del__`. A FinalizeTrigger calls `FinalizablePyObjectDerived.__del_derived__()` first and - if existent - `FinalizableBuiltin.__del_builtin__()` after that. A plain `FinalizablePyObject.__del__()` would behave as overridden by `FinalizablePyObjectDerived.__del_derived__()`, i.e. won't be called if the type implements `FinalizablePyObjectDerived`, while `FinalizableBuiltin.__del_builtin__()` is called in any case.

Specified by:
  `__del_builtin__` in interface `FinalizableBuiltin`

### traverse

public int traverse(Visitproc visit, Object arg)
Description copied from interface: `Traverseproc`
Traverses all directly contained `PyObject`s. Like in CPython, `arg` must be passed unmodified to `visit` as its second parameter. If `Visitproc.visit(PyObject, Object)` returns nonzero, this return value must be returned immediately by traverse. `Visitproc.visit(PyObject, Object)` must not be called with a `null` PyObject-argument.

Specified by:
  `traverse` in interface `Traverseproc`

### refersDirectlyTo

public boolean refersDirectlyTo(PyObject ob)
Description copied from interface: `Traverseproc`
Optional operation. Should only be implemented if it is more efficient than calling `Traverseproc.traverse(Visitproc, Object)` with a visitproc that just watches out for `ob`. Must return `false` if `ob` is `null`.

Specified by:
  `refersDirectlyTo` in interface `Traverseproc`