Ejercicio
Invertir un archivo de texto
Objetivo
Crear un programa para "invertir" el contenido de un archivo de texto: crear un archivo con el mismo nombre que termine en ".tnv" y que contenga las mismas líneas que el archivo original pero en orden inverso (la primera línea será la última, la segunda será la penúltima, y así sucesivamente, hasta la última línea del archivo original, que debe aparecer en la primera posición del archivo resultante).
Sugerencia: la forma más fácil, utilizando solo las estructuras de programación que conocemos hasta ahora, es leer los archivos de origen dos veces: la primera vez para contar la cantidad de líneas en el archivo y la segunda vez para almacenarlas en una matriz.
Código
Imports System
Imports System.IO
Namespace InvertText
Class Program
Private Shared Sub Main(ByVal args As String())
Console.Write("Enter name file: ")
Dim fileName As String = Console.ReadLine()
If File.Exists(fileName) Then
Dim myfileRd As StreamReader = File.OpenText(fileName)
Dim line As String
Dim countLines As Integer = 0
Do
line = myfileRd.ReadLine()
If line IsNot Nothing Then countLines += 1
Loop While line IsNot Nothing
myfileRd.Close()
Dim lines As String() = New String(countLines - 1) {}
Dim countLine As Integer = 0
myfileRd = File.OpenText(fileName)
line = ""
Do
line = myfileRd.ReadLine()
If line IsNot Nothing Then
lines(countLine) = line
countLine += 1
End If
Loop While line IsNot Nothing
myfileRd.Close()
Dim myfileWr As StreamWriter = File.CreateText(fileName & ".tnv")
For i As Integer = lines.Length - 1 To 0 + 1
myfileWr.WriteLine(lines(i))
Next
myfileWr.Close()
Else
Console.WriteLine("The file no exists.")
End If
End Sub
End Class
End Namespace