J'ai une application écrite en Java qui utilise un fichier jar (il en utilise plus d'un, mais ce n'est pas le but).Extraction efficace d'un fichier à partir d'un fichier jar
Le fait est que le fichier Jar que j'utilise contient des fichiers que je DOIS absolument extraire dans le système de fichiers. Jusqu'à présent, j'utilise Class.getResourceAsStream et FileOutputStream, mais cette méthode est plutôt lente. Notez que certains de ces fichiers sont basés sur du texte, mais d'autres sont simplement binaires. En plus d'essayer de réduire le besoin d'extraire les fichiers des JAR, y a-t-il des optimisations (telles que des fonctions plus adéquates) pour ces tâches?
Notez que mon application est basée sur Java 6 et que je souhaite réduire au minimum les dépendances externes.
EDIT: Pour référence ultérieure, mon VIEUX code (inefficent) était:
int c;
while((c = is.read())!=-1){
fos.write(c);
}
Pour le nouveau code beaucoup plus rapide, voir la réponse acceptée.
Je copiais vraiment byte by byte! Il est nettement plus rapide maintenant! Merci! – luiscubal