В моем Java проекте есть файлы JAR, которые мне нужно скопировать во временную папку файловой системы. Однако после копирования все скопированные файлы повреждаются, даже если их размер не совпадает с размером оригинала (при открытии zip с помощью 7Zip появляется неформатированный файл вместо структуры папок jar). Мне не нужны эти файлы для каких-либо процессов в моей программе, таких как компиляция, просто для копирования в систему.
Я пробовал некоторые решения, такие как this , this, или с библиотекой CommonsIO, но всегда копируемые файлы остаются поврежденными.
РЕДАКТИРОВАТЬ: Некоторые из проверенных мной кодов:
InputStream source = getClass().getClassLoader().getResourceAsStream(originPath);
Files.copy(source, Paths.get(destPath), StandardCopyOption.REPLACE_EXISTING);
source.close();
byte[] source = IOUtils.toByteArray(getClass().getClassLoader().getResourceAsStream(originPath));
File directoryFile = new File(originPath);
if(!directoryFile.exists()) {
directoryFile.mkdirs();
}
try (FileOutputStream fileOutputStream = new FileOutputStream(destPath)){
fileOutputStream.write(source);
}
catch (Exception exception) {
throw new IOException(String.format("Failed to copy the file %s", sourceName));
}
Как я могу это сделать?