| /* |
| * Sun Public License Notice |
| * |
| * The contents of this file are subject to the Sun Public License |
| * Version 1.0 (the "License"). You may not use this file except in |
| * compliance with the License. A copy of the License is available at |
| * http://www.sun.com/ |
| * |
| * The Original Code is NetBeans. The Initial Developer of the Original |
| * Code is Sun Microsystems, Inc. Portions Copyright 1997-2000 Sun |
| * Microsystems, Inc. All Rights Reserved. |
| */ |
| package org.netbeans.lib.cvsclient.io; |
| |
| import java.io.ByteArrayOutputStream; |
| import java.io.IOException; |
| import java.io.InputStream; |
| |
| /** |
| * @author Thomas Singer |
| */ |
| public final class StreamUtilities { |
| |
| private final String myCharset; |
| |
| public StreamUtilities(String charset) { |
| this.myCharset = charset; |
| } |
| |
| public String readLine(InputStream reader) throws IOException { |
| if (myCharset != null) { |
| return new String(readLineBytes(reader), myCharset); |
| } else { |
| return new String(readLineBytes(reader)); |
| } |
| } |
| |
| public static byte[] readLineBytes(InputStream reader) throws IOException { |
| final ByteArrayOutputStream output = new ByteArrayOutputStream(); |
| for (; ;) { |
| int value = reader.read(); |
| if ((char) value == '\n' || value == -1) { |
| break; |
| } |
| |
| output.write(value); |
| } |
| |
| output.close(); |
| return output.toByteArray(); |
| } |
| |
| } |