StreamResult (Java Platform SE 8 )
Keywords: javax.xml.transform.stream.StreamResult class
Date: 2026-03-29

compact2, compact3
javax.xml.transform.stream

## Class StreamResult

- java.lang.Object
- - javax.xml.transform.stream.StreamResult

- All Implemented Interfaces:
    Result

      public class StreamResult
      extends Object
      implements Result

  Acts as an holder for a transformation result, which may be XML, plain Text, HTML, or some other form of markup.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `FEATURE` If `TransformerFactory.getFeature(java.lang.String)` returns true when passed this value as an argument, the Transformer supports Result output of this type.

    - ### Fields inherited from interface javax.xml.transform.Result

      `PI_DISABLE_OUTPUT_ESCAPING, PI_ENABLE_OUTPUT_ESCAPING`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `StreamResult()` Zero-argument default constructor.
    `StreamResult(File f)` Construct a StreamResult from a File.
    `StreamResult(OutputStream outputStream)` Construct a StreamResult from a byte stream.
    `StreamResult(String systemId)` Construct a StreamResult from a URL.
    `StreamResult(Writer writer)` Construct a StreamResult from a character stream.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `OutputStream` | `getOutputStream()` Get the byte stream that was set with setOutputStream.
    `String` | `getSystemId()` Get the system identifier that was set with setSystemId.
    `Writer` | `getWriter()` Get the character stream that was set with setWriter.
    `void` | `setOutputStream(OutputStream outputStream)` Set the ByteStream that is to be written to.
    `void` | `setSystemId(File f)` Set the system ID from a `File` reference.
    `void` | `setSystemId(String systemId)` Set the systemID that may be used in association with the byte or character stream, or, if neither is set, use this value as a writeable URI (probably a file name).
    `void` | `setWriter(Writer writer)` Set the writer that is to receive the result.

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### FEATURE

          public static final String FEATURE

      If `TransformerFactory.getFeature(java.lang.String)` returns true when passed this value as an argument, the Transformer supports Result output of this type.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### StreamResult

          public StreamResult()

      Zero-argument default constructor.

    - #### StreamResult

          public StreamResult(OutputStream outputStream)

      Construct a StreamResult from a byte stream. Normally, a stream should be used rather than a reader, so that the transformer may use instructions contained in the transformation instructions to control the encoding.
      Parameters:
        `outputStream` - A valid OutputStream reference.

    - #### StreamResult

          public StreamResult(Writer writer)

      Construct a StreamResult from a character stream. Normally, a stream should be used rather than a reader, so that the transformer may use instructions contained in the transformation instructions to control the encoding. However, there are times when it is useful to write to a character stream, such as when using a StringWriter.
      Parameters:
        `writer` - A valid Writer reference.

    - #### StreamResult

          public StreamResult(String systemId)

      Construct a StreamResult from a URL.
      Parameters:
        `systemId` - Must be a String that conforms to the URI syntax.

    - #### StreamResult

          public StreamResult(File f)

      Construct a StreamResult from a File.
      Parameters:
        `f` - Must a non-null File reference.

  - ### Method Detail

    - #### setOutputStream

          public void setOutputStream(OutputStream outputStream)

      Set the ByteStream that is to be written to. Normally, a stream should be used rather than a reader, so that the transformer may use instructions contained in the transformation instructions to control the encoding.
      Parameters:
        `outputStream` - A valid OutputStream reference.

    - #### getOutputStream

          public OutputStream getOutputStream()

      Get the byte stream that was set with setOutputStream.
      Returns:
        The byte stream that was set with setOutputStream, or null if setOutputStream or the ByteStream constructor was not called.

    - #### setWriter

          public void setWriter(Writer writer)

      Set the writer that is to receive the result. Normally, a stream should be used rather than a writer, so that the transformer may use instructions contained in the transformation instructions to control the encoding. However, there are times when it is useful to write to a writer, such as when using a StringWriter.
      Parameters:
        `writer` - A valid Writer reference.

    - #### getWriter

          public Writer getWriter()

      Get the character stream that was set with setWriter.
      Returns:
        The character stream that was set with setWriter, or null if setWriter or the Writer constructor was not called.

    - #### setSystemId

          public void setSystemId(String systemId)

      Set the systemID that may be used in association with the byte or character stream, or, if neither is set, use this value as a writeable URI (probably a file name).
      Specified by:
        `setSystemId` in interface `Result`
      Parameters:
        `systemId` - The system identifier as a URI string.

    - #### setSystemId

          public void setSystemId(File f)

      Set the system ID from a `File` reference.

      Parameters:
        `f` - Must a non-null File reference.

    - #### getSystemId

          public String getSystemId()

      Get the system identifier that was set with setSystemId.
      Specified by:
        `getSystemId` in interface `Result`
      Returns:
        The system identifier that was set with setSystemId, or null if setSystemId was not called.

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.