Saltar al contenido

C# – Guardar un archivo ‘.txt’ en la raíz del proyecto

Investigamos en el mundo on line para así traerte la solución a tu problema, en caso de alguna difcultad deja la pregunta y responderemos con mucho gusto.

Solución:

File.WriteAllText requiere dos parámetros:
El primero es el FileName y el segundo es el contenido a escribir.

File.WriteAllText(AppDomain.CurrentDomain.BaseDirectory + @"" + fileName, 
                  saveScene.ToString());

Sin embargo, tenga en cuenta que escribir en la carpeta actual podría ser problemático si el usuario que ejecuta su aplicación no tiene permiso para acceder a la carpeta. (Y en el sistema operativo más reciente, la escritura en los archivos de programa es muy limitada). Si es posible, cambie esta ubicación a las definidas en Environment.SpecialFolder enum

También deseo sugerir el uso de la clase System.IO.Path cuando necesite construir rutas y no un string concatenación donde se usa el mismo ‘Específico del sistema operativo’ constante "" para separar caminos.

En tu ejemplo escribiría

 string destPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory,fileName);
 File.WriteAllText(destPath, saveScene.ToString());

no hay necesidad de extra + @"" solo haz:

AppDomain.CurrentDomain.BaseDirectory + fileName

y reemplazar los parámetros

saveScene.ToString()

y

AppDomain.CurrentDomain.BaseDirectory + fileName

su código debe ser:

private void saveFileToolStripMenuItem_Click(object sender, EventArgs e)
    
        try
        
            string fileName = Microsoft.VisualBasic.Interaction.InputBox("Please enter a save file name.", "Save Game");
            if (fileName.Equals(""))
            
                MessageBox.Show("Please enter a valid save file name.");
            
            else
            
                fileName = String.Concat(fileName, ".gls");
                MessageBox.Show("Saving to " + fileName);

                System.IO.File.WriteAllText(AppDomain.CurrentDomain.BaseDirectory +  fileName, saveScene.ToString());
            
        
        catch (Exception f)
        
            System.Diagnostics.Debug.Write(f);
        
    

puedes seguir leyendo File.WriteAllText aquí:

Parámetros

   path Type: System.String 

       The file to write to.  

   contents Type: System.String

       The string to write to the file.

Te mostramos las reseñas y valoraciones de los lectores

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *