.. wxPython Phoenix documentation

   This file was generated by Phoenix's sphinx generator and associated
   tools, do not edit by hand.

   Copyright: (c) 2011-2020 by Total Control Software
   License:   wxWindows License

.. include:: headings.inc



.. _wx.OutputStream:

==========================================================================================================================================
|phoenix_title|  **wx.OutputStream**
==========================================================================================================================================

:ref:`wx.OutputStream`  is an abstract base class which may not be used directly.          

It is the base class of all streams which provide a :meth:`~wx.OutputStream.Write`  function, i.e. which can be used to output data (e.g. to a file, to a socket, etc). 

If you want to create your own output stream, you'll need to derive from this class and implement the protected :meth:`~wx.OutputStream.OnSysWrite`  function only. 









|

|class_hierarchy| Class Hierarchy
=================================

.. raw:: html

   <div id="toggleBlock" onclick="return toggleVisibility(this)" class="closed" style="cursor:pointer;">
   <img id="toggleBlock-trigger" src="_static/images/closed.png"/>
   Inheritance diagram for class <strong>OutputStream</strong>:
   </div>
   <div id="toggleBlock-summary" style="display:block;"></div>
   <div id="toggleBlock-content" style="display:none;">
   <p class="graphviz">
   <center><img src="_static/images/inheritance/wx.OutputStream_inheritance.png" alt="Inheritance diagram of OutputStream" usemap="#dummy" class="inheritance"/></center>
   <script type="text/javascript">toggleVisibilityOnLoad(document.getElementById('toggleBlock'))</script>
   <map id="dummy" name="dummy"> <area shape="rect" id="node1" href="wx.OutputStream.html" title="wx.OutputStream" alt="" coords="5,83,141,112"/> <area shape="rect" id="node2" href="wx.StreamBase.html" title="wx.StreamBase" alt="" coords="11,5,135,35"/> </map> 
   </p>
   </div>

|


|sub_classes| Known Subclasses
==============================

:ref:`CountingOutputStream`, :ref:`FFileOutputStream`, :ref:`FileOutputStream`, :ref:`FilterOutputStream`, :ref:`MemoryOutputStream`, :ref:`SocketOutputStream`, :ref:`StringOutputStream`, :ref:`TempFFileOutputStream`, :ref:`TempFileOutputStream`

|


|method_summary| Methods Summary
================================

================================================================================ ================================================================================
:meth:`~wx.OutputStream.__init__`                                                Creates a dummy :ref:`wx.OutputStream`  object.
:meth:`~wx.OutputStream.Close`                                                   Closes the stream, returning ``False`` if an error occurs.
:meth:`~wx.OutputStream.LastWrite`                                               Returns the number of bytes written during the last :meth:`~OutputStream.Write` .
:meth:`~wx.OutputStream.PutC`                                                    Puts the specified character in the output queue and increments the stream position.
:meth:`~wx.OutputStream.SeekO`                                                   Changes the stream current position.
:meth:`~wx.OutputStream.TellO`                                                   Returns the current stream position.
:meth:`~wx.OutputStream.Write`                                                   Writes up to the specified amount of bytes using the data of buffer.
:meth:`~wx.OutputStream.WriteAll`                                                Writes exactly the specified number of bytes from the buffer.
:meth:`~wx.OutputStream.close`                                                   
:meth:`~wx.OutputStream.eof`                                                     
:meth:`~wx.OutputStream.flush`                                                   
:meth:`~wx.OutputStream.seek`                                                    
:meth:`~wx.OutputStream.tell`                                                    
:meth:`~wx.OutputStream.write`                                                   
================================================================================ ================================================================================


|


|api| Class API
===============


.. class:: wx.OutputStream(StreamBase)

   **Possible constructors**::

       OutputStream()
       
   
   OutputStream is an abstract base class which may not be used
   directly.



   .. method:: __init__(self)

      Creates a dummy :ref:`wx.OutputStream`  object.                   





   .. method:: Close(self)

      Closes the stream, returning ``False`` if an error occurs.                  

      The stream is closed implicitly in the destructor if :meth:`Close`   is not called explicitly. 

      If this stream wraps another stream or some other resource such as a file, then the underlying resource is closed too if it is owned by this stream, or left open otherwise.                  

      :rtype: `bool`








   .. method:: LastWrite(self)

      Returns the number of bytes written during the last :meth:`Write` .                  

      It may return 0 even if there is no error on the stream if it is only temporarily impossible to write to it.                  

      :rtype: `int`








   .. method:: PutC(self, c)

      Puts the specified character in the output queue and increments the stream position.                  


      :param `c`: 
      :type `c`: int







   .. method:: SeekO(self, pos, mode=FromStart)

      Changes the stream current position.                  




      :param `pos`: Offset to seek to.   
      :type `pos`: wx.FileOffset
      :param `mode`: One of FromStart, FromEnd, FromCurrent.  
      :type `mode`: wx.SeekMode








      :rtype: :ref:`wx.FileOffset`



                  



      :returns: 

         The new stream position or :meth:`InvalidOffset`   on error.   








   .. method:: TellO(self)

      Returns the current stream position.                  

      :rtype: :ref:`wx.FileOffset`








   .. method:: Write(self, *args, **kw)



      |overload| Overloaded Implementations:

      :html:`<hr class="overloadsep" /><br />`

      
      **Write** `(self, buffer, size)`
      
      Writes up to the specified amount of bytes using the data of buffer.                  
      
      Note that not all data can always be written so you must check the number of bytes really written to the stream using :meth:`LastWrite`   when this function returns. 
      
      In some cases (for example a write end of a pipe which is currently full) it is even possible that there is no errors and zero bytes have been written. This function returns a reference on the current object, so the user can test any states of the stream right away.                  
      
      
      :param `buffer`: 
      :param `size`: 
      :type `size`: int
      
      
      
      
      :rtype: :ref:`wx.OutputStream`
      
      
      
      
      
      
      
      :html:`<hr class="overloadsep" /><br />`

      
      **Write** `(self, stream_in)`
      
      Reads data from the specified input stream and stores them in the current stream.                  
      
      The data is read until an error is raised by one of the two streams.                  
      
      
      :param `stream_in`: 
      :type `stream_in`: wx.InputStream
      
      
      
      
      :rtype: :ref:`wx.OutputStream`
      
      
      
      
      
      
      
      :html:`<hr class="overloadsep" /><br />`






   .. method:: WriteAll(self, buffer, size)

      Writes exactly the specified number of bytes from the buffer.                  

      Returns ``True`` if exactly `size`  bytes were written. Otherwise, returns ``False`` and :meth:`LastWrite`   should be used to retrieve the exact amount of the data written if necessary. 

      This method uses repeated calls to :meth:`Write`   (which may return writing only part of the data) if necessary. 

                


      :param `buffer`: 
      :param `size`: 
      :type `size`: int




      :rtype: `bool`







      .. versionadded:: 2.9.5 
     








   .. method:: close(self)






   .. method:: eof(self)



      :rtype: `bool`








   .. method:: flush(self)






   .. method:: seek(self, offset, whence=0)






   .. method:: tell(self)



      :rtype: :ref:`wx.FileOffset`








   .. method:: write(self, data)



      :rtype: :ref:`PyObject`







