Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Cargar un archivo de texto con Resources

Iniciado por yaneisy, Enero 07, 2016, 02:50:18 AM

Tema anterior - Siguiente tema
Enero 07, 2016, 02:50:18 AM Ultima modificación: Junio 10, 2016, 02:17:13 AM por pioj
hola, necesito que me ayuden, ya que tengo un fichero de texto txt donde tengo guardado varios datos de y necesito leerlo para acceder a unas posiciones y tengo este código que me funciona pero si yo quisiera  tener el fichero txt en la carpeta resources pero tengo problemas a la hora de intentar hacerlo.
 
Este es el código que tengo, lee de un fichero todas sus lineas y luego guardo solamente las posiciones de unos panoramas que debo luego ubicar.
 

            TextReader Lector;
            Lector = new StreamReader("C:\\panoramas.txt");
            //Lector1 = Resources.Load("panoramas");   algo como esto quisiera para acceder al fichero txt cuando este en la carpeta Resources.... pero me da problemas 
           
                string lineas = Lector.ReadLine();
                lineas = Lector.ReadLine();
                while (lineas != null)
                {
                    char[] delimitador = { ';' };
                    string[] palabras = lineas.Split(delimitador);
                    Panorama p = new Panorama();
                    p.x = Convert.ToDouble(palabras[11]) * 1000;
                    p.z = Convert.ToDouble(palabras[13]) * 1000;
                    Registros.Add(p);
                    lineas = Lector.ReadLine();
                }
                Lector.Close();

 
 

Enero 15, 2016, 03:03:07 PM #1 Ultima modificación: Junio 10, 2016, 02:18:38 AM por pioj
Es mucho más fácil de lo que crees.
 
Supone que tenés el archivo panoramas.txt en Resources/Archivos
 
Deberías hacer:
 



   
      TextAsset resource = (TextAsset)Resources.Load("Archivos/panoramas"); // Al cargar resources lo tenés que hacer sin colocar el formato del archivo
      string textoDelResource = resource.text;
   

[/quote]
 
 
 
Nada más
 

Saludos
 
Si querés dividir el texto en líneas para usar tu procesador, deberías hacer:
 



   
      var lineas = textoDelResource.Split(Environment.NewLine);
   

[/quote]
 
ó
 



   
      var lineas = textoDelResource.Split('\n');
   

[/quote]
 
Luego:
 

foreach(var linea in lineas) {
    char[] delimitador = { ';' };
    string[] palabras = linea.Split(delimitador);
    Panorama p = new Panorama();
    p.x = Convert.ToDouble(palabras[11]) * 1000;
    p.z = Convert.ToDouble(palabras[13]) * 1000;
    Registros.Add(p);
}

 
 

Etiquetas: