InputStream to String
authorMathieu Baudier <mbaudier@argeo.org>
Mon, 4 Sep 2023 12:12:07 +0000 (14:12 +0200)
committerMathieu Baudier <mbaudier@argeo.org>
Mon, 4 Sep 2023 12:12:07 +0000 (14:12 +0200)
org.argeo.cms/src/org/argeo/cms/util/StreamUtils.java

index a589e739af389b3bf0ef22b5cc1f811acd124a62..5fbef6b31a6889f9ba3276150032988214d0e293 100644 (file)
@@ -6,7 +6,10 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.io.Reader;
+import java.io.UncheckedIOException;
 import java.io.Writer;
+import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
 import java.util.StringJoiner;
 
 /** Stream utilities to be used when Apache Commons IO is not available. */
@@ -88,6 +91,22 @@ public class StreamUtils {
                        }
        }
 
+       public static String toString(Class<?> clss, String resource) {
+               return toString(clss.getResourceAsStream(resource), StandardCharsets.UTF_8);
+       }
+
+       public static String toString(InputStream in) {
+               return toString(in, StandardCharsets.UTF_8);
+       }
+
+       public static String toString(InputStream in, Charset encoding) {
+               try {
+                       return new String(in.readAllBytes(), encoding);
+               } catch (IOException e) {
+                       throw new UncheckedIOException(e);
+               }
+       }
+
        public static String toString(BufferedReader reader) throws IOException {
                StringJoiner sn = new StringJoiner("\n");
                String line = null;