PR libgcj/9715, PR libgcj/19132:

* java/nio/charset/Charset.java (charsetForName): Try default
	provider first.
	(availableCharsets): Re-merged.
	(providers2): Likewise.
	(defaultCharset): Likewise.
	* sources.am, Makefile.in: Rebuilt.
	* gnu/java/nio/charset/Provider.java: Removed.
	* java/io/OutputStreamWriter.java
	(OutputStreamWriter(OutputStream,Charset)): New constructor.
	(OutputStreamWriter(OutputStream,CharsetEncoder)): Likewise.
	* java/io/InputStreamReader.java
	(InputStreamReader(InputStream,CharsetDecoder)): New constructor.
	(InputStreamReader(InputStream,Charset)): Likewise.
	* gnu/gcj/convert/BytesToUnicode.java (getDecoder): Try a
	BytesToCharsetAdaptor.
	* gnu/gcj/convert/UnicodeToBytes.java (getEncoder): Try a
	CharsetToBytesAdaptor.
	* gnu/gcj/convert/CharsetToBytesAdaptor.java: New file.
	* gnu/gcj/convert/BytesToCharsetAdaptor.java: New file.
	* mauve-libgcj: Remove getEncoding exclusion.

Co-Authored-By: Tom Tromey <tromey@redhat.com>

From-SVN: r109294
This commit is contained in:
David Daney 2006-01-03 22:58:31 +00:00 committed by Tom Tromey
parent 368872c315
commit 8ceb88d4cd
12 changed files with 420 additions and 186 deletions

View file

@ -39,6 +39,9 @@ exception statement from your version. */
package java.io;
import gnu.gcj.convert.UnicodeToBytes;
import gnu.gcj.convert.CharsetToBytesAdaptor;
import java.nio.charset.Charset;
import java.nio.charset.CharsetEncoder;
/**
* This class writes characters to an output stream that is byte oriented
@ -128,6 +131,31 @@ public class OutputStreamWriter extends Writer
this(out, UnicodeToBytes.getDefaultEncoder());
}
/**
* This method initializes a new instance of <code>OutputStreamWriter</code>
* to write to the specified stream using a given <code>Charset</code>.
*
* @param out The <code>OutputStream</code> to write to
* @param cs The <code>Charset</code> of the encoding to use
*/
public OutputStreamWriter(OutputStream out, Charset cs)
{
this(out, new CharsetToBytesAdaptor(cs));
}
/**
* This method initializes a new instance of <code>OutputStreamWriter</code>
* to write to the specified stream using a given
* <code>CharsetEncoder</code>.
*
* @param out The <code>OutputStream</code> to write to
* @param enc The <code>CharsetEncoder</code> to encode the output with
*/
public OutputStreamWriter(OutputStream out, CharsetEncoder enc)
{
this(out, new CharsetToBytesAdaptor(enc));
}
/**
* This method closes this stream, and the underlying
* <code>OutputStream</code>