]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/manager/util/IOUtils.java
Create an AvatarStore
[signal-cli] / src / main / java / org / asamk / signal / manager / util / IOUtils.java
index 06f8aa223f5385ceea82aaa09bb232866a4a49c2..8f47c9f4466bc9d6f62c2b5464bde1bca6c13b3a 100644 (file)
@@ -1,10 +1,8 @@
 package org.asamk.signal.manager.util;
 
-import org.whispersystems.signalservice.internal.util.Util;
-
 import java.io.ByteArrayOutputStream;
 import java.io.File;
-import java.io.FileOutputStream;
+import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
@@ -22,12 +20,14 @@ import static java.nio.file.attribute.PosixFilePermission.OWNER_WRITE;
 public class IOUtils {
 
     public static File createTempFile() throws IOException {
-        return File.createTempFile("signal_tmp_", ".tmp");
+        final File tempFile = File.createTempFile("signal-cli_tmp_", ".tmp");
+        tempFile.deleteOnExit();
+        return tempFile;
     }
 
     public static byte[] readFully(InputStream in) throws IOException {
         ByteArrayOutputStream baos = new ByteArrayOutputStream();
-        Util.copy(in, baos);
+        IOUtils.copyStream(in, baos);
         return baos.toByteArray();
     }
 
@@ -55,18 +55,22 @@ public class IOUtils {
         }
     }
 
-    public static void copyStreamToFile(InputStream input, File outputFile) throws IOException {
-        copyStreamToFile(input, outputFile, 8192);
+    public static void copyFileToStream(File inputFile, OutputStream output) throws IOException {
+        try (InputStream inputStream = new FileInputStream(inputFile)) {
+            copyStream(inputStream, output);
+        }
+    }
+
+    public static void copyStream(InputStream input, OutputStream output) throws IOException {
+        copyStream(input, output, 4096);
     }
 
-    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;
+    public static void copyStream(InputStream input, OutputStream output, int bufferSize) throws IOException {
+        byte[] buffer = new byte[bufferSize];
+        int read;
 
-            while ((read = input.read(buffer)) != -1) {
-                output.write(buffer, 0, read);
-            }
+        while ((read = input.read(buffer)) != -1) {
+            output.write(buffer, 0, read);
         }
     }
 }