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

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

público estático System.IO.FileStream Open (ruta de string, modo System.IO.FileMode, acceso System.IO.FileAccess); 
 

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

  • ruta: 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.
  • acceso: este valor especifica las operaciones que se pueden realizar en el archivo.

Excepciones:
 

  • ArgumentException: la ruta especificada 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 . O acceso especificado Lectura y modo especificado Crear, Crear nuevo, Truncar o Agregar.
  • ArgumentNullException: la ruta es nula.
  • PathTooLongException: la ruta especificada , 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 y el acceso no es de lectura. O la ruta especifica un directorio. O la persona que llama no tiene el permiso requerido. O el modo es Crear y el archivo especificado es un archivo oculto.
  • ArgumentOutOfRangeException: el modo o acceso 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 no compartido que proporciona acceso al archivo especificado, con el modo y el acceso especificados.
A continuación se muestran los programas para ilustrar el método File.Open(String, FileMode, FileAccess).
Programa 1: el siguiente código crea un archivo temporal, escribe algunos contenidos específicos en él, abre ese archivo e imprime su contenido.
 

CSharp

// C# program to illustrate the usage
// of File.Open(String, FileMode,
// FileAccess) 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, FileAccess.Read))
        {
            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,
// FileAccess) 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, FileAccess.Read))
        {
            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 *