Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/04/2008, 00:58
lsobpla
 
Fecha de Ingreso: febrero-2005
Mensajes: 44
Antigüedad: 20 años, 1 mes
Puntos: 1
Lentitud en lectura de archivo

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