Modifiqué mi código para poder abrir un archivo como de solo lectura. Ahora estoy teniendo problemas para usar File.WriteAllText
porque mi FileStream
y StreamReader
no están convertidos en una cadena.¿Cómo convierto StreamReader a 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);
}
'StreamReader' no es una' cadena'. Usando el método 'File.ReadAllText' que ha comentado obtendría una' cadena'. –
Parece que está copiando el contenido de un archivo a otro directorio. ¿Por qué no hacer una copia del archivo directamente en el directorio de salida? – docmanhattan
Hola, me alegro de que hayas podido descifrar mi comentario en tu última publicación ... hagas un 'uso' en tu FileStream ... también debes probar/capturar cuando hagas disco IO ... como ya lo has hecho visto, hay muchos problemas potenciales. Aparte de eso, estas respuestas StreamReader.ReadToEnd() son lo que necesita. – rfmodulator