假设我有以下文件存在于/src位置。 a.pdf,b.pdf,a.doc,b.doc,a.txt和b.txt
我需要将 a.pdf、a.doc 和 a.txt 文件以原子方式一次性复制到 /dest 位置。
目前我正在使用Java.nio.file.Files包和以下代码。
Path srcFile1 = Paths.get("/src/a.pdf");
Path destFile1 = Paths.get("/dest/a.pdf");
Path srcFile2 = Paths.get("/src/a.doc");
Path destFile2 = Paths.get("/dest/a.doc");
Path srcFile3 = Paths.get("/src/a.txt");
Path destFile3 = Paths.get("/dest/a.txt");
Files.copy(srcFile1, destFile1);
Files.copy(srcFile2, destFile2);
Files.copy(srcFile3, destFile3);
但是这种方法文件将一个接一个地被复制。
作为替代方法,为了使整个过程原子化,我考虑将所有文件压缩并移动到/dest
,然后在目标位置解压。
这种方法是否正确,可以使整个复制过程成为原子操作?有没有人经历过类似的概念并解决了它。
Map<ByteArrayInputStream, String>
,并将此Map对象作为Stream对象发送到网络上。 - Ayush28