diff options
Diffstat (limited to 'libjava/java/io/BufferedWriter.java')
-rw-r--r-- | libjava/java/io/BufferedWriter.java | 129 |
1 files changed, 0 insertions, 129 deletions
diff --git a/libjava/java/io/BufferedWriter.java b/libjava/java/io/BufferedWriter.java deleted file mode 100644 index 85aceed68bd..00000000000 --- a/libjava/java/io/BufferedWriter.java +++ /dev/null @@ -1,129 +0,0 @@ -// BufferedWriter.java - Filtered character output stream. - -/* Copyright (C) 1998, 1999 Cygnus Solutions - - This file is part of libgcj. - -This software is copyrighted work licensed under the terms of the -Libgcj License. Please consult the file "LIBGCJ_LICENSE" for -details. */ - -package java.io; - -/** - * @author Tom Tromey <tromey@cygnus.com> - * @date September 25, 1998 - */ - -/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3 - * "The Java Language Specification", ISBN 0-201-63451-1 - * Status: Complete to version 1.1. - */ - -// Why not extend FilterWriter? -public class BufferedWriter extends Writer -{ - public BufferedWriter (Writer out) - { - this (out, 8192); - } - - public BufferedWriter (Writer ox, int size) - { - super (ox); - out = ox; - buffer = new char[size]; - count = 0; - } - - public void close () throws IOException - { - localFlush (); - out.close(); - } - - public void flush () throws IOException - { - localFlush (); - out.flush(); - } - - public void newLine () throws IOException - { - write (System.getProperty("line.separator")); - } - - public void write (int oneChar) throws IOException - { - synchronized (lock) - { - buffer[count++] = (char) oneChar; - if (count == buffer.length) - localFlush (); - } - } - - public void write (char[] buf, int offset, int len) throws IOException - { - if (offset < 0 || len < 0 || offset + len > buf.length) - throw new ArrayIndexOutOfBoundsException (); - - synchronized (lock) - { - // Bypass buffering if there is too much incoming data. - if (count + len > buffer.length) - { - localFlush (); - out.write(buf, offset, len); - } - else - { - System.arraycopy(buf, offset, buffer, count, len); - count += len; - if (count == buffer.length) - localFlush (); - } - } - } - - public void write (String str, int offset, int len) throws IOException - { - if (offset < 0 || len < 0 || offset + len < str.length()) - throw new ArrayIndexOutOfBoundsException (); - - synchronized (lock) - { - if (count + len > buffer.length) - { - localFlush (); - out.write(str, offset, len); - } - else - { - str.getChars(offset, offset + len, buffer, count); - count += len; - if (count == buffer.length) - localFlush (); - } - } - } - - private final void localFlush () throws IOException - { - if (count > 0) - { - synchronized (lock) - { - out.write(buffer, 0, count); - count = 0; - } - } - } - - // The downstream writer. - private Writer out; - // The character buffer. - char[] buffer; - // Number of valid chars in buffer. - int count; -} |