Here you can find the source of readAsString(InputStream is, CharsetDecoder decoder)
public static String readAsString(InputStream is, CharsetDecoder decoder) throws IOException
//package com.java2s; /*/*from w w w . j a v a 2s . c om*/ * $Id$ * * This is a program for Language Grid Core Node. This combines multiple language resources and provides composite language services. * Copyright (C) 2005-2008 NICT Language Grid Project. * * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 2.1 of the License, or (at * your option) any later version. * * 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 Lesser * General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ import java.io.CharArrayWriter; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; import java.nio.charset.CharsetDecoder; public class Main { /** * * */ public static String readAsString(InputStream is, CharsetDecoder decoder) throws IOException { InputStreamReader reader = new InputStreamReader(is, decoder); return readAsString(reader); } /** * * */ public static String readAsString(InputStream is, String encodingName) throws IOException { InputStreamReader reader = new InputStreamReader(is, encodingName); return readAsString(reader); } /** * * */ public static String readAsString(Reader reader) throws IOException { CharArrayWriter writer = new CharArrayWriter(); char[] buffer = new char[1024]; while (true) { int size = reader.read(buffer); if (size == -1) break; writer.write(buffer, 0, size); } return writer.toString(); } }