Tengo el siguiente código, que sustituye un determinado carácter por otro, tal que así:
Citar
Dim StrR As IO.StreamReader
Dim StrW As IO.StreamWriter
Dim Lee As String
For Each Archivo As String In My.Computer.FileSystem.GetFiles("c:\Directory", FileIO.SearchOption.SearchTopLevelOnly, "*.txt")
StrR = New IO.StreamReader(Archivo)
Lee = StrR.ReadToEnd _
.Replace("á", "@") _
.Replace("é", "$") _
.Replace("í", "|") _
.Replace("ó", "#") _
.Replace("ó", "#") _
.Replace("ú", "=") _
.Replace("ñ", "&") _
.Replace("¿", ">") _
.Replace("¡", "<")
StrR.Close()
StrW = New IO.StreamWriter(Archivo)
StrW.Write(Lee)
StrW.Close()
Lee = nothing
Next
Dim StrW As IO.StreamWriter
Dim Lee As String
For Each Archivo As String In My.Computer.FileSystem.GetFiles("c:\Directory", FileIO.SearchOption.SearchTopLevelOnly, "*.txt")
StrR = New IO.StreamReader(Archivo)
Lee = StrR.ReadToEnd _
.Replace("á", "@") _
.Replace("é", "$") _
.Replace("í", "|") _
.Replace("ó", "#") _
.Replace("ó", "#") _
.Replace("ú", "=") _
.Replace("ñ", "&") _
.Replace("¿", ">") _
.Replace("¡", "<")
StrR.Close()
StrW = New IO.StreamWriter(Archivo)
StrW.Write(Lee)
StrW.Close()
Lee = nothing
Next
La cosa es que, cuando el StreamWriter escribe y guarda lo que se ha procesado, me lo convierte a UTF-8, a pesar de que originalmente el texto estaba en Unicode. Es esencial que el texto siga en Unicode, y hacerlo manualmente con 280 archivos es una locura. ¿Qué habría que hacer para tal fin? Gracias