Mon jar executable doit copier, vers un DD, un fichier(400ko) qui est inclus dans l'archive.
Je le fais avec :
InputStream is = getClass().getResourceAsStream(inputFileName);
OutputStream os = new FileOutputStream(outputFileName);
int b; // byte readed in the file
while((b = is.read()) != -1) {
os.write(b);
}
is.close();
os.close();
Si c'est un DD local, rien d'horrible mais c'est très long vers le DD d'un serveur.
J'ai essayé aussi :
FileChannel srcChannel = new FileInputStream(inputFileName).getChannel();
// Create channel on the destination
FileChannel dstChannel = new FileOutputStream(outputFileName).getChannel();
// Copy file contents from source to destination
dstChannel.transferFrom(srcChannel, 0, srcChannel.size());
// Close the channels
srcChannel.close();
dstChannel.close();
mais ça ne marche pas en lecture dans le jar.
Y a t'il d'autres méthodes ?