⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 writer.java

📁 This is a resource based on j2me embedded,if you dont understand,you can connection with me .
💻 JAVA
字号:
/* * @(#)Writer.java	1.27 06/10/10 * * Copyright  1990-2008 Sun Microsystems, Inc. All Rights Reserved.   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER   *    * This program is free software; you can redistribute it and/or   * modify it under the terms of the GNU General Public License version   * 2 only, as published by the Free Software Foundation.    *    * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU   * General Public License version 2 for more details (a copy is   * included at /legal/license.txt).    *    * You should have received a copy of the GNU General Public License   * version 2 along with this work; if not, write to the Free Software   * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA   * 02110-1301 USA    *    * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa   * Clara, CA 95054 or visit www.sun.com if you need additional   * information or have any questions.  * */package java.io;/** * Abstract class for writing to character streams.  The only methods that a * subclass must implement are write(char[], int, int), flush(), and close(). * Most subclasses, however, will override some of the methods defined here in * order to provide higher efficiency, additional functionality, or both. * * @see Writer * @see   BufferedWriter * @see   CharArrayWriter * @see   FilterWriter * @see   OutputStreamWriter * @see     FileWriter * @see   PipedWriter * @see   PrintWriter * @see Reader * * @version 	1.20, 00/05/03 * @author	Mark Reinhold * @since	JDK1.1 */public abstract class Writer {    /**     * Temporary buffer used to hold writes of strings and single characters     */    private char[] writeBuffer;    /**     * Size of writeBuffer, must be >= 1     */    private final int writeBufferSize = 1024;    /**     * The object used to synchronize operations on this stream.  For     * efficiency, a character-stream object may use an object other than     * itself to protect critical sections.  A subclass should therefore use     * the object in this field rather than <tt>this</tt> or a synchronized     * method.     */    protected Object lock;    /**     * Create a new character-stream writer whose critical sections will     * synchronize on the writer itself.     */    protected Writer() {	this.lock = this;    }    /**     * Create a new character-stream writer whose critical sections will     * synchronize on the given object.     *     * @param lock  Object to synchronize on.     */    protected Writer(Object lock) {	if (lock == null) {	    throw new NullPointerException();	}	this.lock = lock;    }    /**     * Write a single character.  The character to be written is contained in     * the 16 low-order bits of the given integer value; the 16 high-order bits     * are ignored.     *     * <p> Subclasses that intend to support efficient single-character output     * should override this method.     *     * @param c  int specifying a character to be written.     * @exception  IOException  If an I/O error occurs     */    public void write(int c) throws IOException {	synchronized (lock) {	    if (writeBuffer == null){		writeBuffer = new char[writeBufferSize];	    }	    writeBuffer[0] = (char) c;	    write(writeBuffer, 0, 1);	}    }    /**     * Write an array of characters.     *     * @param  cbuf  Array of characters to be written     *      * @exception  IOException  If an I/O error occurs     */    public void write(char cbuf[]) throws IOException {	write(cbuf, 0, cbuf.length);    }    /**     * Write a portion of an array of characters.     *     * @param  cbuf  Array of characters     * @param  off   Offset from which to start writing characters     * @param  len   Number of characters to write     *     * @exception  IOException  If an I/O error occurs     */    abstract public void write(char cbuf[], int off, int len) throws IOException;    /**     * Write a string.     *     * @param  str  String to be written     *     * @exception  IOException  If an I/O error occurs     */    public void write(String str) throws IOException {	write(str, 0, str.length());    }    /**     * Write a portion of a string.     *     * @param  str  A String     * @param  off  Offset from which to start writing characters     * @param  len  Number of characters to write     *     * @exception  IOException  If an I/O error occurs     */    public void write(String str, int off, int len) throws IOException {	synchronized (lock) {	    char cbuf[];	    if (len <= writeBufferSize) {		if (writeBuffer == null) {		    writeBuffer = new char[writeBufferSize];		}		cbuf = writeBuffer;	    } else {	// Don't permanently allocate very large buffers.		cbuf = new char[len];	    }	    str.getChars(off, (off + len), cbuf, 0);	    write(cbuf, 0, len);	}    }    /**     * Flush the stream.  If the stream has saved any characters from the     * various write() methods in a buffer, write them immediately to their     * intended destination.  Then, if that destination is another character or     * byte stream, flush it.  Thus one flush() invocation will flush all the     * buffers in a chain of Writers and OutputStreams.     *     * @exception  IOException  If an I/O error occurs     */    abstract public void flush() throws IOException;    /**     * Close the stream, flushing it first.  Once a stream has been closed,     * further write() or flush() invocations will cause an IOException to be     * thrown.  Closing a previously-closed stream, however, has no effect.     *     * @exception  IOException  If an I/O error occurs     */    abstract public void close() throws IOException;}

⌨️ 快捷键说明

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