Hola!
Tengo un JSP en el que realizo la lectura de un archivo que se encuentra en otro servidor y lo voy mostrando en el navegador. Lo hace todo perfectamente pero lo que me extraña es que tarda mucho en mostrar el contenido, ya que a veces incluso se me ha quedado la ventana en "No responde", y si miro en el administrador de tareas, la CPU se me pone al 100%.
El caso es que son archivos grandes, pero tampoco demasiado, de entre 300-400KB a 4-5 MB. El código donde hago esto es el siguiente:
Código:
FTPClient ftp = new FTPClient();
ftp.connect(server);
ftp.login(user,pass);
ftp.changeWorkingDirectory(folder);
FTPFile[] files = ftp.listFiles();
ftp.setFileType(FTP.ASCII_FILE_TYPE);
InputStream is = null;
try{
is = ftp.retrieveFileStream(nombre);
BufferedReader br = new BufferedReader(new InputStreamReader(is,"ISO-8859-1"));
linea = br.readLine();
while (linea != null) {
%><c:out value="<%= linea %>" escapeXml="true">null value</c:out>
<br />
<% linea = br.readLine();
}
if (is != null) {
is.close();
}
br.close();
}catch(Exception e){
e.printStackTrace();
}
if(!ftp.completePendingCommand()){
// Logout del FTP Server y desconecto
ftp.logout();
ftp.disconnect();
}
Para leer el archivo del otro servidor uso las librerías org.apache.commons.net.* y org.apache.commons.net.ftp.* del proyecto Jakarta Commons.
¿Alguna idea de cómo hacer para que no tarde tantísimo??
Muchas gracias!!
Un saludo