Ejercicio
Conversor de archivos
Objetivo
Crear un programa para "invertir" un archivo: crear un archivo con el mismo nombre que termine en ".inv" y que contenga los mismos bytes que el archivo original pero en orden inverso (el primer byte será el último, el segundo será el penúltimo, y así sucesivamente, hasta el último byte del archivo original, que debería aparecer en la primera posición del archivo resultante).
Debe entregar solo el archivo ".cs", que debe contener un comentario con su nombre.
Sugerencia: Para conocer la longitud de un archivo binario (BinaryReader), puede usar "myFile.BaseStream.Length" y puede saltar a una posición diferente con "myFile.BaseStream.Seek(4, SeekOrigin.Current);"
Las posiciones iniciales que podemos utilizar son: SeekOrigin.Begin, SeekOrigin.Current- o SeekOrigin.End
Código de Ejemplo
public class Main
{
public static void main(String[] args)
{
BinaryReader inFile = new BinaryReader(File.Open("hola.txt", FileMode.Open));
BinaryWriter outFile = new BinaryWriter(File.Open("hola.txt.inv", FileMode.Create));
long filesize = inFile.BaseStream.getLength();
for (long i = filesize - 1; i >= 0; i--)
{
inFile.BaseStream.Seek(i, SeekOrigin.Begin);
byte b = inFile.ReadByte();
outFile.Write(b);
}
inFile.Close();
outFile.Close();
}
}