Método File.Open(String, FileMode) en C# con ejemplos

File.Open(String, FileMode) es un método de clase de archivo incorporado que se usa para abrir un FileStream en la ruta especificada con acceso de lectura/escritura sin compartir.
Sintaxis: 
 

public static System.IO.FileStream Open (string path, System.IO.FileMode mode);

Parámetro: Esta función acepta dos parámetros que se ilustran a continuación: 
 

  • sourceFileName: este es el archivo especificado para abrir.
  • modo: este valor de modo especifica si se crea un nuevo archivo si no existe uno, y también determina si el contenido del archivo existente se conserva o se sobrescribe.

Excepciones:
 

  • ArgumentException: la ruta es una string de longitud cero, contiene solo espacios en blanco o uno o más caracteres no válidos según lo definido por InvalidPathChars.
  • ArgumentNullException: la ruta es nula.
  • PathTooLongException: la ruta dada , el nombre de archivo o ambos superan la longitud máxima definida por el sistema.
  • DirectoryNotFoundException: la ruta especificada no es válida.
  • IOException: se produjo un error de E/S al abrir el archivo.
  • UnauthorizedAccessException: la ruta especificó un archivo que es de solo lectura. O esta operación no es compatible con la plataforma actual. O la ruta especifica un directorio. O la persona que llama no tiene el permiso requerido . O el modo es Creado y el archivo especificado es un archivo oculto.
  • ArgumentOutOfRangeException: el modo especificó un valor no válido.
  • FileNotFoundException: no se encontró el archivo especificado en la ruta .
  • NotSupportedException: la ruta tiene un formato no válido.

Valor devuelto: Devuelve un FileStream abierto en el modo y la ruta especificados, con acceso de lectura/escritura y no compartido.
A continuación se muestran los programas para ilustrar el método File.Open(String, FileMode).
Programa 1: El siguiente código crea un archivo temporal, escribe algunos contenidos específicos en él, luego abre el archivo e imprímelo.
 

CSharp

// C# program to illustrate the usage
// of File.Open(String, FileMode) method
 
// Using System, System.IO and
// System.Text namespaces
using System;
using System.IO;
using System.Text;
 
class GFG {
    public static void Main()
    {
        // Creating a temporary file
        string path = Path.GetTempFileName();
        using(FileStream fs = File.Open(path, FileMode.Open))
        {
            // Putting some contents
            Byte[] info = new UTF8Encoding(true).GetBytes("GFG is a CS Portal.");
            fs.Write(info, 0, info.Length);
        }
 
        // Opening the stream and reading it back.
        using(FileStream fs = File.Open(path, FileMode.Open))
        {
            byte[] b = new byte[1024];
            UTF8Encoding temp = new UTF8Encoding(true);
 
            while (fs.Read(b, 0, b.Length) > 0) {
                Console.WriteLine(temp.GetString(b));
            }
        }
    }
}

Producción: 
 

GFG is a CS Portal.

Programa 2: Inicialmente, se crea un archivo file.txt con algunos contenidos que se muestran a continuación:
 

file.txt

El siguiente código abrirá el archivo file.txt e imprimirá su contenido.
 

CSharp

// C# program to illustrate the usage
// of File.Open(String, FileMode) method
 
// Using System, System.IO and
// System.Text namespaces
using System;
using System.IO;
using System.Text;
 
class GFG {
    public static void Main()
    {
        // Specifying a file path
        string path = @"file.txt";
 
        // Opening above file and reading it back.
        using(FileStream fs = File.Open(path, FileMode.Open))
        {
            byte[] b = new byte[1024];
            UTF8Encoding temp = new UTF8Encoding(true);
 
            while (fs.Read(b, 0, b.Length) > 0) {
                // Printing the file contents
                Console.WriteLine(temp.GetString(b));
            }
        }
    }
}

Producción: 
 

GeeksforGeeks

Publicación traducida automáticamente

Artículo escrito por Kanchan_Ray y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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