Trabajar con archivos, archivos y directorios - FernandoCalmet/csharp-essential GitHub Wiki

Métodos de archivo

WriteAllText(string path, string contents) crea un nuevo archivo y escribe contenido en ese archivo. Si el archivo de destino ya existe, lo sobrescribirá:

string path = @"C:\FileExamples\test.txt";
string content = "Example content as a string message";
File.WriteAllText(path, content);

WriteAllLines(string path, string[] contents) crea un nuevo archivo y escribe una matriz de cadenas especificada, luego cierra el archivo:

string path = @"C:\FileExamples\WriteAllLines.txt";
string[] contentArray = new string[3] { "Example content as a string message", "Another string text", "The last string" };
File.WriteAllLines(path, contentArray);

ReadAllText(string path) abre el archivo en la ruta especificada, lee todas las líneas como una cadena y luego cierra el archivo:

string path = @"C:\FileExamples\WriteAllLines.txt";
string readAllText = File.ReadAllText(path);
Console.WriteLine(readAllText);

ReadAllLines(string path) abre un archivo de texto, lee todas las líneas del archivo como una matriz de cadenas y luego cierra el archivo:

string path = @"C:\FileExamples\WriteAllLines.txt";
string[] readAllLines = File.ReadAllLines(path);
foreach (string line in readAllLines)
{
    Console.WriteLine(line);
}

Delete(string path) Elimina el archivo especificado:

string path = @"C:\FileExamples\test.txt";
File.Delete(path);

Move(string sourceFileName, string destFileName) mueve un archivo especificado a una nueva ubicación:

string path = @"C:\FileExamples\test.txt";
string moveToPath = @"C:\FileMoveExamples\MovedFile.txt";

if(File.Exists(moveToPath)) //if the file on the target location exists, we need to remove it first.
{
    File.Delete(moveToPath);
}

File.Move(path, moveToPath);

AppendAllText(string path, string contents) abre un archivo, agrega el contenido al archivo y luego cierra el archivo. Si un archivo no existe, creará un archivo, escribirá el contenido y cerrará el archivo. Este método es útil si queremos agregar contenido nuevo sin anular el anterior:

string path = @"C:\FileExamples\test.txt";
string content = "Append this content as a string message" + Environment.NewLine;
File.AppendAllText(path, content);

AppendAllLines(string path, IEnumerable<string> contents) agrega líneas al archivo y luego cierra el archivo:

string path = @"C:\FileExamples\test.txt";
string[] content = new string[2] { "Append this content as a string message", "Another text line" };
File.AppendAllLines(path, content); 

Métodos de directorio

CreateDirectory(string path) crea directorios y subdirectorios en la ubicación especificada a menos que ya existan. Devuelve un objeto DirectoryInfo para el directorio existente:

string path = @"C:\DirectoryExample\SubDir1\SubDir2";
DirectoryInfo di = Directory.CreateDirectory(path);
Console.WriteLine($"Full name: {di.FullName}, Name: {di.Name}, Parent: {di.Parent} ...");

Delete(string path) elimina un directorio vacío de una ruta especificada:

string path = @"C:\DirectoryExample\SubDir1\SubDir2";
Directory.Delete(path);

Delete(string path, bool recursive) elimina el directorio especificado y, si se indica, todos los subdirectorios y archivos de ese directorio:

string path = @"C:\DirectoryExample";
Directory.Delete(path, true);

Move(string sourceDirName, string destDirName) mueve un archivo o directorio y su contenido a una nueva ubicación:

string path = @"C:\DirectoryExample";
string moveTo = @"C:\MoveDirectory";
Directory.Move(path, moveTo);
⚠️ **GitHub.com Fallback** ⚠️