none
Usar contenido de variable en nombre de archivo .txt RRS feed

  • Pregunta

  • Buenas noches amigos,

    Tengo el siguiente inciso de una tarea:

    Un procedimiento para guardar la matrícula en un archivo “Matriculas.txt” y otro archivo que se llame “CM más el código del estudiante, el periodo, semestre y año.txt”, este archivo tendrá las clases y el valor de cada clase que matriculó

    Tengo dudas en como colocar el contenido de la variable en el mismo nombre del archivo .txt. No se si como lo hice esta bien, tambien si asi como esta escrito me generaria ambos archivos a la vez. Me gustaria lo revisen y si se puede modifcar me ayuden con ello.

    Estas con variables ya declaradas:
    Codi_Estudiante, Periodo, Semestre, Año

    Saludos.

       private void Actualizar_Archivo()
            {       
                fw = new StreamWriter("Matriculas.txt"); 
                fwvalor = new StreamWriter("CM", Codi_Estudiante, Periodo, Semestre, Año, ".txt");
              
                for (int i = 0; i < ListaMatricula.Count; i++)
                {
                    for (int j = 0; j < ListaValorClase.Count; j++)
                    {
                        fw.WriteLine(ListaMatricula[i]);
                        fwvalor.WriteLine(ListaValorClase[j]);
                    }                
                }
                fw.Close();
                fwvalor.Close();
            }


    miércoles, 31 de julio de 2019 4:39

Respuestas

  • Para crear el fichero CM tienes que formar el nombre del mismo uniendo sus diferentes partes:

    string NombreFichero = "CM" +  Codi_Estudiante + Periodo + Semestre + Año + ".txt";

    Y luego

    fwvalor = new StreamWriter(NombreFichero );

    Es aconsejable usar StreamWriter dentro de using para asegurarse de que se elimina de memoria una vez usado:

    private void Actualizar_Archivo()
    {       
       using (StreamWriter fw = new StreamWriter("Matriculas.txt")); 
       {
          using (StreamWriter fwvalor = new StreamWriter("CM", Codi_Estudiante, Periodo, Semestre, Año, ".txt"))
          {       
             for (int i = 0; i < ListaMatricula.Count; i++)
             {
                for (int j = 0; j < ListaValorClase.Count; j++)
                {
                   fw.WriteLine(ListaMatricula[i]);
                   fwvalor.WriteLine(ListaValorClase[j]);
                }
             }                
          }
       }
    }

    Como verás declaro las variables de tipo StreamWriter en el momento de crearlas.


    Saludos, Javier J

    • Marcado como respuesta TheRealJoker7 miércoles, 31 de julio de 2019 18:09
    miércoles, 31 de julio de 2019 6:26

Todas las respuestas

  • Para crear el fichero CM tienes que formar el nombre del mismo uniendo sus diferentes partes:

    string NombreFichero = "CM" +  Codi_Estudiante + Periodo + Semestre + Año + ".txt";

    Y luego

    fwvalor = new StreamWriter(NombreFichero );

    Es aconsejable usar StreamWriter dentro de using para asegurarse de que se elimina de memoria una vez usado:

    private void Actualizar_Archivo()
    {       
       using (StreamWriter fw = new StreamWriter("Matriculas.txt")); 
       {
          using (StreamWriter fwvalor = new StreamWriter("CM", Codi_Estudiante, Periodo, Semestre, Año, ".txt"))
          {       
             for (int i = 0; i < ListaMatricula.Count; i++)
             {
                for (int j = 0; j < ListaValorClase.Count; j++)
                {
                   fw.WriteLine(ListaMatricula[i]);
                   fwvalor.WriteLine(ListaValorClase[j]);
                }
             }                
          }
       }
    }

    Como verás declaro las variables de tipo StreamWriter en el momento de crearlas.


    Saludos, Javier J

    • Marcado como respuesta TheRealJoker7 miércoles, 31 de julio de 2019 18:09
    miércoles, 31 de julio de 2019 6:26
  • Listo, muchas gracias Javier Jiménez.
    Saludos.
    miércoles, 31 de julio de 2019 18:10