У меня есть приложение, написанное на Java, которое использует файл JAR (он использует более одного, но это не главное).
Дело в том, что файл Jar, который я использую, содержит файлы, которые я абсолютно ДОЛЖЕН извлечь в файловую систему.
Пока что я использую Class.getResourceAsStream и FileOutputStream, но этот метод несколько медленный.
Обратите внимание, что некоторые из этих файлов основаны на тексте, а другие - просто двоичные.
Таким образом, кроме попыток уменьшить необходимость извлечения файлов из JAR-файлов, есть ли какие-либо оптимизации (например, более адекватные функции) для этих задач.
Обратите внимание, что мое приложение основано на Java 6, и я хотел бы уменьшить внешние зависимости до минимума.
РЕДАКТИРОВАТЬ: Для дальнейшего использования мой СТАРЫЙ (неэффективный) код был:
int c;
while((c = is.read())!=-1){
fos.write(c);
}
Новый, гораздо более быстрый код см. В принятом ответе.