Ver Mensaje Individual
  #2 (permalink)  
Antiguo 08/03/2010, 14:28
Avatar de RootK
RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Respuesta: Lectura ficheros pesados - Caché

Yo lo que hago es efectivamente trabajar con un buffer y conforme se vaya llenando realizo otra petición para incrementar el tamaño, te paso la función que utilizo

Código PHP:
 private static int _bufferSize 16384;
        
/// <summary>
        /// Lee el contenido de un archivo
        /// </summary>
        /// <param name="filename">Nobre archivo</param>
        /// <returns>Contenido archivo</returns>
        
public static string GetContentFile(string filename)
        {
            if (!
File.Exists(filename))
                return 
string.Empty;

            
StringBuilder stringBuilder = new StringBuilder();
            
FileStream fileStream = new FileStream(filenameFileMode.OpenFileAccess.Read);

            
using (StreamReader streamReader = new StreamReader(fileStream))
            {
                
char[] fileContents = new char[_bufferSize];
                
int charsRead streamReader.Read(fileContents0_bufferSize);

                if (
charsRead == 0)
                    return 
string.Empty;

                while (
charsRead 0)
                {
                    
stringBuilder.Append(fileContents);
                    
charsRead streamReader.Read(fileContents0_bufferSize);
                }
            }

            return 
stringBuilder.ToString();

        } 
La variable _bufferSize es la que tendrás que modificar (si quieres) con un tamaño mayor para tener una reserva inicial siempre, pero independiente a eso el code que puse te debe funcionar sin problemas

Saludos
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net