Foros del Web » Programación para mayores de 30 ;) » .NET »

ficheros grande

Estas en el tema de ficheros grande en el foro de .NET en Foros del Web. Hola necesito ideas para leer un fichero ".txt" que posee cerca de 20000 documentos y que necesito que se lea en menos de 2sg , ...
  #1 (permalink)  
Antiguo 15/02/2015, 21:51
Avatar de yosandry91  
Fecha de Ingreso: diciembre-2013
Mensajes: 34
Antigüedad: 10 años, 11 meses
Puntos: 0
ficheros grande

Hola necesito ideas para leer un fichero ".txt" que posee cerca de 20000 documentos y que necesito que se lea en menos de 2sg , El problema no es leerlo sino a la hora de cargarlos porque tengo que crear una estructura de clases para soportarlo. La idea es mas o meno hacer un buscador mas especifico el modelo vectorial lo que tengo es algo como esto
Código:
            string total = file.ReadToEnd();
            List<string> grande = total.Split('\n').ToList();
            total = "";
            StopWord stopWord = new StopWord();

            Documento docu;
            int posp = 0;
            string[] s;
            System.IO.StreamWriter asa;
            List<string> listaPalabras;

            for (int i = 0; i < grande.Count; i++)
            {
                s = grande[i].Split('.');
                docu = new Documento();

                docu.titulo = s[0];
                listaPalabras = s[1].Split(' ').ToList();

                foreach (var items in listaPalabras)
                {

                    if (!stopWord.isStopWord(items.ToString()))
                    {
                        docu.palabras.Add(posp, Stermin.Stem(items.ToString()));
                        posp++;

                    }
                }
                fichero.Add(id, docu);
                id++;
                asa = new System.IO.StreamWriter(i.ToString() + ".txt");
                asa.WriteLine(s[0]);
                asa.WriteLine(s[1]);
                asa.Close();
            }
use una clase MRI
Código:
  public  class MRI
    {
      Hashtable ficher = new Hashtable();
        public void Add(int id, Documento docu) 
        {
            this.ficher.Add(id,docu);
        }
      


    }
y una Documento
Código:
namespace MRI_Vectorial
{
  public  class Documento
    {

      public string titulo = "";
      public Hashtable palabras = new Hashtable(); 

      public  double peso = 0;

    }
}
Todo este bateo es para ganar en rendimiento pero se tarda cerca de 1mn en crear todos los documentos
Los documentos estan compuestos por un titulo seguidos por un punto y a continuacion el contenido seguido por un \n y asi sucesivamente 20000 veces

Les pido que me sujieran una estructura eficiente de implementacion en c#

Etiquetas: ficheros, grande
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:15.