/** * * Copies a directory tree (all subdirectories and files) recursively to a destination */ public static void copyDirectoryTree(final File fileOrDirectory, final File destination) { if (fileOrDirectory.isDirectory()) { destination.mkdir(); for(final File f : fileOrDirectory.listFiles()) { final File destinationFileOrDirectory = new File(destination.getPath(),f.getName()); if (f.isDirectory()){ copyDirectoryTree(f,destinationFileOrDirectory); } else { copyFile(f,destinationFileOrDirectory); } } } }
/** * * Copies a directory tree (all subdirectories and files) recursively to a destination */ public static void copyDirectoryTree(final File fileOrDirectory, final File destination) { if (fileOrDirectory.isDirectory()) { destination.mkdir(); for(final File f : fileOrDirectory.listFiles()) { final File destinationFileOrDirectory = new File(destination.getPath(),f.getName()); if (f.isDirectory()){ copyDirectoryTree(f,destinationFileOrDirectory); } else { copyFile(f,destinationFileOrDirectory); } } } }
/** * * Copies a directory tree (all subdirectories and files) recursively to a destination */ public static void copyDirectoryTree(final File fileOrDirectory, final File destination) { if (fileOrDirectory.isDirectory()) { destination.mkdir(); for(final File f : fileOrDirectory.listFiles()) { final File destinationFileOrDirectory = new File(destination.getPath(),f.getName()); if (f.isDirectory()){ copyDirectoryTree(f,destinationFileOrDirectory); } else { copyFile(f,destinationFileOrDirectory); } } } }
@BeforeTest private void setUp() throws Exception { rootTestDir = File.createTempFile("cibm.", ".tmp"); Assert.assertTrue(rootTestDir.delete()); Assert.assertTrue(rootTestDir.mkdir()); for (final File source : TEST_DATA_DIR.listFiles()) { if (source.isDirectory() && !source.isHidden()) { IOUtil.copyDirectoryTree(source, new File(rootTestDir.getPath(),source.getName())); } } }
@Test public void testCopyDirectoryTree() throws IOException { final Path copyToDir = Files.createTempDirectory("copyToDir"); copyToDir.toFile().deleteOnExit(); IOUtil.copyDirectoryTree(TEST_VARIANT_DIR.toFile(), copyToDir.toFile()); final List<Path> collect = Files.walk(TEST_VARIANT_DIR).filter(f -> !f.equals(TEST_VARIANT_DIR)).map(p -> p.getFileName()).collect(Collectors.toList()); final List<Path> collectCopy = Files.walk(copyToDir).filter(f -> !f.equals(copyToDir)).map(p -> p.getFileName()).collect(Collectors.toList()); Assert.assertEqualsNoOrder(collect.toArray(), collectCopy.toArray()); }
@BeforeTest private void setUp() throws Exception { basecallsDir = File.createTempFile("eib.", ".tmp"); Assert.assertTrue(basecallsDir.delete()); Assert.assertTrue(basecallsDir.mkdir()); IOUtil.copyDirectoryTree(SINGLE_DATA_DIR, basecallsDir); dual = File.createTempFile("eib_dual", ".tmp"); Assert.assertTrue(dual.delete()); Assert.assertTrue(dual.mkdir()); IOUtil.copyDirectoryTree(DUAL_DATA_DIR, dual); qual = File.createTempFile("eib_qual", ".tmp"); Assert.assertTrue(qual.delete()); Assert.assertTrue(qual.mkdir()); IOUtil.copyDirectoryTree(DUAL_DATA_DIR, qual); noSymlink = File.createTempFile("eib_nosymlink", ".tmp"); Assert.assertTrue(noSymlink.delete()); Assert.assertTrue(noSymlink.mkdir()); IOUtil.copyDirectoryTree(HISEQX_DATA_DIR, noSymlink); cbcl = File.createTempFile("eib_cbcl", ".tmp"); Assert.assertTrue(cbcl.delete()); Assert.assertTrue(cbcl.mkdir()); IOUtil.copyDirectoryTree(CBCL_DATA_DIR, cbcl); }