C sharp - Duda sobre los Streams c#

 
Vista:
sin imagen de perfil

Duda sobre los Streams c#

Publicado por Javier (16 intervenciones) el 11/02/2023 23:39:34
Hola quería comentar que yo estoy iniciando con el tema de los Streams

Estoy intentando hacer un ejercicio que seria:

Copiar el fichero origen a otro destino pero no se porque lo estoy intentando pero me dice que no tiene soporte de writing. Y no lo entiendo y por eso estoy comentándolo .Si pudieseis comentar una explicación sobre el funcionamiento sobre el writer y read que aun no entiendo el concepto gracias



Mi codigo


using System;
using System.Text;
using System.IO;

internal class Program
{

public static void CopiarArchivo(string origen, string destino)
{
FileStream ficheroOrigen = new FileStream(origen, FileMode.Open, FileAccess.Write); // Cuando el flujo de entrada es la entrada se utiliza Lectura
FileStream ficheroDestino = new FileStream(destino, FileMode.Open, FileAccess.Read); //Cuando el flujo de Salida se utiliza la escritura

ficheroOrigen.CopyTo(ficheroDestino);
ficheroOrigen.Close();
ficheroDestino.Close();
}
public static FileStream Esribir(string origen)
{
FileStream ficheroOrigen = new FileStream(origen, FileMode.Open, FileAccess.Read); //Cuando el flujo de Salida se utiliza la escritura
byte[] data = Encoding.UTF8.GetBytes("El pato comio en una cerca");

ficheroOrigen.Write(data, 0, data.Length);
ficheroOrigen.Close();

return ficheroOrigen;

}
public static void MuestraDestino(string destino)
{
FileStream ficheroDestino = new FileStream(destino, FileMode.OpenOrCreate, FileAccess.Read); // Cuando el flujo de entrada es la entrada se utiliza Lectura
byte[] data = new byte[7];
ficheroDestino.Read(data, 0, data.Length);

for (int i = 0; i < data.Length; i++)
{
Console.WriteLine($"{data[i]:X}");
}


ficheroDestino.Close();
}

private static void Main(string[] args)
{
string a = args[0];
string b = args[1];
CopiarArchivo(a, b);
MuestraDestino(a);
FileStream fs = Esribir(b);
Console.ReadLine();
}
}

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Duda sobre los Streams c#

Publicado por Yamil Bracho (4 intervenciones) el 12/02/2023 01:19:52
En el metodo "Esribir" estas escribiendo al archivo pero lo estas abriendo solo de lectura, asi que cambia

1
FileStream ficheroOrigen = new FileStream(origen, FileMode.Open, FileAccess.Read);

a

1
FileStream ficheroOrigen = new FileStream(origen, FileMode.Open, FileAccess.Write);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar