TestCommons.java
package com.github.junrar;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.nio.file.Files;
import java.nio.file.LinkOption;
import java.nio.file.Paths;
public class TestCommons {
public static String SIMPLE_RAR_RESOURCE_PATH = "test.rar";
public static File createTempDir() throws IOException {
return Files.createTempDirectory("Junrar")
.toRealPath(LinkOption.NOFOLLOW_LINKS)
.toFile();
}
public static File writeTestRarToFolder(File tmp) throws IOException {
return writeResourceToFolder(tmp, SIMPLE_RAR_RESOURCE_PATH);
}
public static File writeResourceToFolder(File destination, String resourcePath) throws IOException {
InputStream resourceAsStream = TestCommons.class.getResourceAsStream(resourcePath);
File testRar = new File(destination, resourcePath);
FileUtils.writeByteArrayToFile(testRar, IOUtils.toByteArray(resourceAsStream));
return testRar;
}
public static void copyRarsToFolder(File destination, File srcDir) throws IOException {
String[] fileNames = srcDir.list();
for (String fileName : fileNames) {
File srcFile = Paths.get(srcDir.getPath(), fileName).toFile();
InputStream resourceAsStream = new FileInputStream(srcFile);
File destFile = new File(destination, srcFile.getName());
FileUtils.writeByteArrayToFile(destFile, IOUtils.toByteArray(resourceAsStream));
}
}
}