diff -r 3392f250c784 -r ecbd252fd3a7 emul/compact/src/main/java/java/io/InputStreamReader.java
--- a/emul/compact/src/main/java/java/io/InputStreamReader.java Fri Mar 22 16:59:47 2013 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,230 +0,0 @@
-/*
- * Copyright (c) 1996, 2005, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code 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 in the LICENSE file that
- * accompanied this code).
- *
- * 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package java.io;
-
-
-/**
- * An InputStreamReader is a bridge from byte streams to character streams: It
- * reads bytes and decodes them into characters using a specified {@link
- * java.nio.charset.Charset charset
}. The charset that it uses
- * may be specified by name or may be given explicitly, or the platform's
- * default charset may be accepted.
- *
- *
Each invocation of one of an InputStreamReader's read() methods may - * cause one or more bytes to be read from the underlying byte-input stream. - * To enable the efficient conversion of bytes to characters, more bytes may - * be read ahead from the underlying stream than are necessary to satisfy the - * current read operation. - * - *
For top efficiency, consider wrapping an InputStreamReader within a - * BufferedReader. For example: - * - *
- * BufferedReader in - * = new BufferedReader(new InputStreamReader(System.in)); - *- * - * @see BufferedReader - * @see InputStream - * @see java.nio.charset.Charset - * - * @author Mark Reinhold - * @since JDK1.1 - */ - -public class InputStreamReader extends Reader { - - /** - * Creates an InputStreamReader that uses the default charset. - * - * @param in An InputStream - */ - public InputStreamReader(InputStream in) { - super(in); - } - - /** - * Creates an InputStreamReader that uses the named charset. - * - * @param in - * An InputStream - * - * @param charsetName - * The name of a supported - * {@link java.nio.charset.Charset charset
}
- *
- * @exception UnsupportedEncodingException
- * If the named charset is not supported
- */
- public InputStreamReader(InputStream in, String charsetName)
- throws UnsupportedEncodingException
- {
- super(in);
- if (!charsetName.toUpperCase().equals("UTF-8")) {
- throw new UnsupportedEncodingException(charsetName);
- }
- }
-
- /**
- * Creates an InputStreamReader that uses the given charset.
- *
- * @param in An InputStream
- * @param cs A charset
- *
- * @since 1.4
- * @spec JSR-51
- */
-/* XXX:
- public InputStreamReader(InputStream in, Charset cs) {
- super(in);
- if (cs == null)
- throw new NullPointerException("charset");
- sd = StreamDecoder.forInputStreamReader(in, this, cs);
- }
-*/
- /**
- * Creates an InputStreamReader that uses the given charset decoder.
- *
- * @param in An InputStream
- * @param dec A charset decoder
- *
- * @since 1.4
- * @spec JSR-51
- */
-/* XXX:
- public InputStreamReader(InputStream in, CharsetDecoder dec) {
- super(in);
- if (dec == null)
- throw new NullPointerException("charset decoder");
- sd = StreamDecoder.forInputStreamReader(in, this, dec);
- }
-*/
-
- /**
- * Returns the name of the character encoding being used by this stream.
- *
- * If the encoding has an historical name then that name is returned;
- * otherwise the encoding's canonical name is returned.
- *
- *
If this instance was created with the {@link
- * #InputStreamReader(InputStream, String)} constructor then the returned
- * name, being unique for the encoding, may differ from the name passed to
- * the constructor. This method will return null
if the
- * stream has been closed.
- *
- * @return The historical name of this encoding, or
- * null
if the stream has been closed
- *
- * @see java.nio.charset.Charset
- *
- * @revised 1.4
- * @spec JSR-51
- */
- public String getEncoding() {
- return "UTF-8";
- }
-
- /**
- * Reads a single character.
- *
- * @return The character read, or -1 if the end of the stream has been
- * reached
- *
- * @exception IOException If an I/O error occurs
- */
- public int read() throws IOException {
- final InputStream is = (InputStream)lock;
- int c = is.read();
- if (c == -1) {
- return -1;
- }
- c = (int) c & 0xff;
- switch (c >> 4) {
- case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7:
- /* 0xxxxxxx*/
- return c;
- case 12: case 13: {
- /* 110x xxxx 10xx xxxx*/
- int char2 = (int) is.read();
- if ((char2 & 0xC0) != 0x80)
- throw new UTFDataFormatException("malformed input");
- return (((c & 0x1F) << 6) | (char2 & 0x3F));
- }
- case 14: {
- /* 1110 xxxx 10xx xxxx 10xx xxxx */
- int char2 = is.read();
- int char3 = is.read();
- if (((char2 & 0xC0) != 0x80) || ((char3 & 0xC0) != 0x80))
- throw new UTFDataFormatException("malformed input");
- return (((c & 0x0F) << 12) |
- ((char2 & 0x3F) << 6) |
- ((char3 & 0x3F) << 0));
- }
- default:
- /* 10xx xxxx, 1111 xxxx */
- throw new UTFDataFormatException("malformed input");
- }
- }
-
- /**
- * Reads characters into a portion of an array.
- *
- * @param cbuf Destination buffer
- * @param offset Offset at which to start storing characters
- * @param length Maximum number of characters to read
- *
- * @return The number of characters read, or -1 if the end of the
- * stream has been reached
- *
- * @exception IOException If an I/O error occurs
- */
- public int read(char cbuf[], int offset, int length) throws IOException {
- for (int i = 0; i < length; i++) {
- int ch = read();
- if (ch == -1) {
- if (i == 0) return -1;
- return i;
- }
- cbuf[offset++] = (char) ch;
- }
- return length;
- }
-
- /**
- * Tells whether this stream is ready to be read. An InputStreamReader is
- * ready if its input buffer is not empty, or if bytes are available to be
- * read from the underlying byte stream.
- *
- * @exception IOException If an I/O error occurs
- */
- public boolean ready() throws IOException {
- return ((InputStream)lock).available() > 0;
- }
-
- public void close() throws IOException {
- ((InputStream)lock).close();
- }
-}