Add 'sdk/java-v2/' from commit '55f103e336ca9fb8bf1720d2ef4ee8dd4e221118'
[arvados.git] / sdk / java-v2 / src / main / java / org / arvados / client / utils / FileMerge.java
diff --git a/sdk/java-v2/src/main/java/org/arvados/client/utils/FileMerge.java b/sdk/java-v2/src/main/java/org/arvados/client/utils/FileMerge.java
new file mode 100644 (file)
index 0000000..eaabbaa
--- /dev/null
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) The Arvados Authors. All rights reserved.
+ *
+ * SPDX-License-Identifier: AGPL-3.0 OR Apache-2.0
+ *
+ */
+
+package org.arvados.client.utils;
+
+import java.io.BufferedOutputStream;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.nio.file.Files;
+import java.util.Collection;
+
+public class FileMerge {
+
+    public static void merge(Collection<File> files, File targetFile) throws IOException {
+        try (FileOutputStream fos = new FileOutputStream(targetFile); BufferedOutputStream mergingStream = new BufferedOutputStream(fos)) {
+            for (File file : files) {
+                Files.copy(file.toPath(), mergingStream);
+            }
+        }
+    }
+}