Archive

Posts Tagged ‘StreamReader’

Usar StreamReader .Net core

marzo 27, 2017 Deja un comentario

En .Net core tenemos un problema usando la clase StreamReader para leer un archivo y es por que no podemos usar el constructor que usualmente recibe la ruta del archivo que deseamos leer

streamreader

El WorkAround para este caso es utilizar la clase File con el metodo open File.OpenText

using (var myReader = File.OpenText("data/books.json"))
 {
 string str = myReader.ReadToEnd(); 
 return JsonConvert.DeserializeObject<List<Book>>(str);
 }

 

 

Guardar o extraer archivos desde un Web service

enero 2, 2011 15 comentarios


Bueno pues primero explico que este método sirve para transferir cualquier archivo, si desean transferir archivos de texto pueden simplemente devolver el string que contiene el archivo.
La mejor forma de transferir volúmenes tan altos de información es a través de binary array de esta manera también logramos estandarizar nuestro webservice. para vamos al namespace System.IO y utilizamos las clases tipo binary.

public byte[] ReadFileFullname(string rootCompleted)
{
//get file
StreamReader reader = new StreamReader(@"" + rootCompleted);

BinaryReader binReader = new BinaryReader(reader.BaseStream);

//read file
byte[] binFile = binReader.ReadBytes(Convert.ToInt32(binReader.
BaseStream.Length));

//close reader
binReader.Close();
reader.Close();

return binFile;

}


como ven podemos recibir la rota física del archivo leerlo y devolverlo en forma de binary array, algo parecido seria para escribir

[WebMethod]
public string SaveFile(string ruta, string filename, byte[] info)
{
     BinaryWriter writer = new BinaryWriter(File.Open((@"" + ruta + filename),
     FileMode.OpenOrCreate,
     FileAccess.ReadWrite));

     writer.Write(info);

     writer.Close();

    return 0.ToString();

   }

Como ven es muy simple espero les sirva y si tienen dudas solo pregunten y dejen su comentario.