streamresult.java

来自「java jdk 1.4的源码」· Java 代码 · 共 187 行

JAVA
187
字号
/* * Copyright 2003 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. *//* * @(#)StreamResult.java	1.13 03/01/23 */package javax.xml.transform.stream;import javax.xml.transform.*;import java.lang.String;import java.io.OutputStream;import java.io.Writer;import java.io.File;/** * Acts as an holder for a transformation result, * which may be XML, plain Text, HTML, or some other form of markup. * */public class StreamResult implements Result {    /** If {@link javax.xml.transform.TransformerFactory#getFeature}     * returns true when passed this value as an argument,     * the Transformer supports Result output of this type.     */    public static final String FEATURE =        "http://javax.xml.transform.stream.StreamResult/feature";    /**     * Zero-argument default constructor.     */    public StreamResult() {}    /**     * 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.     *     * @param outputStream A valid OutputStream reference.     */    public StreamResult(OutputStream outputStream) {        setOutputStream(outputStream);    }    /**     * 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.     *     * @param writer  A valid Writer reference.     */    public StreamResult(Writer writer) {        setWriter(writer);    }    /**     * Construct a StreamResult from a URL.     *     * @param systemId Must be a String that conforms to the URI syntax.     */    public StreamResult(String systemId) {        this.systemId = systemId;    }    /**     * Construct a StreamResult from a File.     *     * @param f Must a non-null File reference.     */    public StreamResult(File f) {        setSystemId(f);    }    /**     * 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.     *     * @param outputStream A valid OutputStream reference.     */    public void setOutputStream(OutputStream outputStream) {        this.outputStream = outputStream;    }    /**     * Get the byte stream that was set with setOutputStream.     *     * @return The byte stream that was set with setOutputStream, or null     * if setOutputStream or the ByteStream constructor was not called.     */    public OutputStream getOutputStream() {        return outputStream;    }    /**     * 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.     *     * @param writer  A valid Writer reference.     */    public void setWriter(Writer writer) {        this.writer = writer;    }    /**     * Get the character stream that was set with setWriter.     *     * @return The character stream that was set with setWriter, or null     * if setWriter or the Writer constructor was not called.     */    public Writer getWriter() {        return writer;    }    /**     * 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).     *     * @param systemId The system identifier as a URI string.     */    public void setSystemId(String systemId) {        this.systemId = systemId;    }    /**     * Set the system ID from a File reference.     *     * @param f Must a non-null File reference.     */    public void setSystemId(File f) {        String fpath=f.getAbsolutePath();	if (File.separatorChar != '/') {	    fpath = fpath.replace(File.separatorChar, '/');	}        if( fpath.startsWith("/"))	  this.systemId= "file://" + fpath;	else	  this.systemId = "file:///" + fpath;    }    /**     * Get the system identifier that was set with setSystemId.     *     * @return The system identifier that was set with setSystemId, or null     * if setSystemId was not called.     */    public String getSystemId() {        return systemId;    }    //////////////////////////////////////////////////////////////////////    // Internal state.    //////////////////////////////////////////////////////////////////////    /**     * 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).     */    private String systemId;    /**     * The byte stream that is to be written to.     */    private OutputStream outputStream;    /**     * The character stream that is to be written to.     */    private Writer writer;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?