
com.undefinedlabs.scope.utils.ResourceUtils Maven / Gradle / Ivy
package com.undefinedlabs.scope.utils;
import org.apache.commons.io.IOUtils;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public enum ResourceUtils {
INSTANCE;
public File getResourceAsTempFile(final String resourceName) {
try {
final File file = File.createTempFile(resourceName, ".tmp");
final OutputStream os = new FileOutputStream(file);
try {
getResourceAsTempFile(resourceName, file, os);
return file;
} finally {
os.close();
}
} catch (Exception e) {
throw new RuntimeException(e);
}
}
public void getResourceAsTempFile(
final String resourceName, final File file, final OutputStream outputStream)
throws IOException {
file.deleteOnExit();
final InputStream is = getResourceAsStream(resourceName);
try {
IOUtils.copy(is, outputStream);
} finally {
is.close();
}
}
private static InputStream getResourceAsStream(String resourceName) throws FileNotFoundException {
final InputStream is = ResourceUtils.class.getResourceAsStream(resourceName);
if (is == null) {
throw new FileNotFoundException(
"Cannot find resource '" + resourceName + "' on the class path.");
}
return is;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy