/** * * 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); } } } }
@Test(dataProvider = "filesToCopy", expectedExceptions = {SAMException.class}) public void testCopyFileReadException(final Path file) throws IOException { final Path outFile = Files.createTempFile("tmp", ".tmp"); outFile.toFile().deleteOnExit(); file.toFile().setReadable(false); try { IOUtil.copyFile(file.toFile(), outFile.toFile()); } finally { //need to set input file permission back to readable so other unit tests can access it file.toFile().setReadable(true); } }
@Test(dataProvider = "filesToCopy", expectedExceptions = {SAMException.class}) public void testCopyFileWriteException(final Path file) throws IOException { final Path outFile = Files.createTempFile("tmp", ".tmp"); outFile.toFile().deleteOnExit(); outFile.toFile().setWritable(false); IOUtil.copyFile(file.toFile(), outFile.toFile()); }
@Test(dataProvider = "filesToCopy") public void testCopyFile(final Path file) throws IOException { final Path outFile = Files.createTempFile("tmp", ".tmp"); outFile.toFile().deleteOnExit(); IOUtil.copyFile(file.toFile(), outFile.toFile()); Assert.assertEquals(Files.lines(file).collect(Collectors.toList()), Files.lines(outFile).collect(Collectors.toList())); }
public static void copyBcls(final File srcLaneDir, final File dstDir) { final File[] listFiles = srcLaneDir.listFiles(); for (final File dir : listFiles) { if (dir.isDirectory()) { File cycleDir = null; for (final File file : dir.listFiles()) { if (file.getName().endsWith(".bcl")) { if (cycleDir == null) { cycleDir = new File(dstDir, dir.getName()); if (!cycleDir.mkdir()) { throw new RuntimeException("Couldn't make directory (" + cycleDir.getAbsolutePath() + ")"); } } IOUtil.copyFile(file, new File(cycleDir, file.getName())); } } } } }