Conversor de archivos Aprende programación con ejercicios Visual Basic (VB.net)

Lección:

Administración de Archivos


Ejercicio:

Conversor de archivos 37


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:

Imports System
Imports System.IO
Public Class FileInverter
    Public Shared Sub Main()
        Dim inFile As BinaryReader = New BinaryReader(File.Open("hola.txt", FileMode.Open))
        Dim outFile As BinaryWriter = New BinaryWriter(File.Open("hola.txt.inv", FileMode.Create))
        Dim filesize As Long = inFile.BaseStream.Length

        For i As Long = filesize - 1 To 0
            inFile.BaseStream.Seek(i, SeekOrigin.Begin)
            Dim b As Byte = inFile.ReadByte()
            outFile.Write(b)
        Next

        inFile.Close()
        outFile.Close()
    End Sub
End Class