Je suis en train d'écrire un code pour télécharger un fichier d'un client vers mon serveur et les performances ne sont pas aussi rapides qu'elles devraient l'être.
J'ai le bout de code actuel qui effectue le transfert de fichiers et je me demandais comment je pouvais accélérer le transfert.
Désolé pour tout le code :
InputStream fileItemInputStream ;
OutputStream saveFileStream;
int[] buffer;
while (fileItemInputStream.available() > 0) {
buffer = Util.getBytesFromStream(fileItemInputStream);
Util.writeIntArrToStream(saveFileStream, buffer);
}
saveFileStream.close();
fileItemInputStream.close();
Les méthodes utilitaires sont les suivantes :
public static int[] getBytesFromStream(InputStream in, int size) throws IOException {
int[] b = new int[size];
int count = 0;
while (count < size) {
b[count++] = in.read();
}
return b;
}
et :
public static void writeIntArrToStream(OutputStream out, int[] arrToWrite) throws IOException {
for (int i = 0; i < arrToWrite.length; i++) {
out.write(arrToWrite[i]);
}
}