c# - example - ¿Cómo convierto StreamReader a una cadena?
streamreader properties c# (3)
Utilice el método StreamReader.ReadToEnd()
.
Alteré mi código para poder abrir un archivo como solo lectura. Ahora tengo problemas para usar File.WriteAllText
porque mi FileStream
y StreamReader
no se convierten en una cadena.
Este es mi código:
static void Main(string[] args)
{
string inputPath = @"C:/Documents and Settings/All Users/Application Data/"
+ @"Microsoft/Windows NT/MSFax/ActivityLog/OutboxLOG.txt";
string outputPath = @"C:/FAXLOG/OutboxLOG.txt";
var fs = new FileStream(inputPath, FileMode.Open, FileAccess.Read,
FileShare.ReadWrite | FileShare.Delete);
string content = new StreamReader(fs, Encoding.Unicode);
// string content = File.ReadAllText(inputPath, Encoding.Unicode);
File.WriteAllText(outputPath, content, Encoding.UTF8);
}
use el método ReadToEnd () de StreamReader:
string content = new StreamReader(fs, Encoding.Unicode).ReadToEnd();
Por supuesto, es importante cerrar StreamReader después del acceso. Por lo tanto, una declaración de using
tiene sentido, como lo sugiere keyboardP y otros.
string content;
using(StreamReader reader = new StreamReader(fs, Encoding.Unicode))
{
content = reader.ReadToEnd();
}
string content = String.Empty;
using(var sr = new StreamReader(fs, Encoding.Unicode))
{
content = sr.ReadToEnd();
}
File.WriteAllText(outputPath, content, Encoding.UTF8);