]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/util/IOUtils.java
Use slf4j simple logger
[signal-cli] / src / main / java / org / asamk / signal / util / IOUtils.java
index f21c1572b57334735b483cba7d827c377483d8d1..4d8adea6bbaa166053e7ac30ed638008e2273fff 100644 (file)
@@ -4,8 +4,10 @@ import org.whispersystems.signalservice.internal.util.Util;
 
 import java.io.ByteArrayOutputStream;
 import java.io.File;
+import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.OutputStream;
 import java.io.StringWriter;
 import java.nio.charset.Charset;
 import java.nio.file.Files;
@@ -46,6 +48,10 @@ public class IOUtils {
 
     public static void createPrivateDirectories(String directoryPath) throws IOException {
         final File file = new File(directoryPath);
+        createPrivateDirectories(file);
+    }
+
+    public static void createPrivateDirectories(File file) throws IOException {
         if (file.exists()) {
             return;
         }
@@ -77,4 +83,19 @@ public class IOUtils {
 
         return System.getProperty("user.home") + "/.local/share";
     }
+
+    public static void copyStreamToFile(InputStream input, File outputFile) throws IOException {
+        copyStreamToFile(input, outputFile, 8192);
+    }
+
+    public static void copyStreamToFile(InputStream input, File outputFile, int bufferSize) throws IOException {
+        try (OutputStream output = new FileOutputStream(outputFile)) {
+            byte[] buffer = new byte[bufferSize];
+            int read;
+
+            while ((read = input.read(buffer)) != -1) {
+                output.write(buffer, 0, read);
+            }
+        }
+    }
 }