X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.util%2Fsrc%2Forg%2Fargeo%2Futil%2FStreamUtils.java;h=5e4e636fc45073f3615e5b9d6ce459bbc3c8ed3c;hb=3c1cdc594d954520b14646102b366290bdad58c7;hp=1cfa5b2206fe0c83ff044d6871277b9c4cdf92f0;hpb=77a5498dd5d10d2442127022efd6501a7dbddbae;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.util/src/org/argeo/util/StreamUtils.java b/org.argeo.util/src/org/argeo/util/StreamUtils.java index 1cfa5b220..5e4e636fc 100644 --- a/org.argeo.util/src/org/argeo/util/StreamUtils.java +++ b/org.argeo.util/src/org/argeo/util/StreamUtils.java @@ -1,28 +1,16 @@ -/* - * Copyright (C) 2007-2012 Argeo GmbH - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ package org.argeo.util; +import java.io.BufferedReader; +import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.Reader; import java.io.Writer; +import java.util.StringJoiner; -/** Utilities to be used when APache COmmons IO is not available. */ -class StreamUtils { +/** Stream utilities to be used when Apache Commons IO is not available. */ +public class StreamUtils { private static final int DEFAULT_BUFFER_SIZE = 1024 * 4; /* @@ -30,8 +18,7 @@ class StreamUtils { */ /** @return the number of bytes */ - public static Long copy(InputStream in, OutputStream out) - throws IOException { + public static Long copy(InputStream in, OutputStream out) throws IOException { Long count = 0l; byte[] buf = new byte[DEFAULT_BUFFER_SIZE]; while (true) { @@ -58,6 +45,13 @@ class StreamUtils { return count; } + public static byte[] toByteArray(InputStream in) throws IOException { + try (ByteArrayOutputStream out = new ByteArrayOutputStream()) { + copy(in, out); + return out.toByteArray(); + } + } + public static void closeQuietly(InputStream in) { if (in != null) try { @@ -93,4 +87,12 @@ class StreamUtils { // } } + + public static String toString(BufferedReader reader) throws IOException { + StringJoiner sn = new StringJoiner("\n"); + String line = null; + while ((line = reader.readLine()) != null) + sn.add(line); + return sn.toString(); + } }