agregar una línea al objeto SPFile
Frecuentes
Visto 2,661 veces
0
Simplemente quiero agregar una línea a un objeto SPFile, que es un archivo txt simple.
¿Hay una manera simple de hacer esto? yo estaba pensando
Muchas Gracias
EDITAR: eso es lo que tengo por el momento:
public static void addLine(SPFile file, string line)
{
using(System.IO.StreamWriter strWriter = new System.IO.StreamWriter(file.OpenBinaryStream())){
strWriter.WriteLine(line);
}
}
No tengo ningún error aquí, pero el archivo no se guarda. He intentado hacer algo como:
file.SaveBinary( args )
Pero no sé qué poner en args.
Si usted me puede ayudar. Gracias
1 Respuestas
3
Necesita SPFile.OpenBinaryStream, uno de SPFile.SaveBinary para leer/escribir. Alguna manipulación de cadenas de TextReader creada sobre el flujo resultante como TextReader.ReadToEnd y escriba los datos resultantes en MemoryStream con TextWriter.
Advertencia: código no compilado a continuación:
using (var readStream = file.OpenBinaryStream())
{
using(var reader = new StreamReader(readStream)
{
var allText = reader.ReadToEnd();
var writeStream = new MemoryStream();
using(var writer = new TextWriter(writeStream))
{
writer.Write(allText);
writer.Write(extraText);
}
file.SaveBinary(writeStream.ToArray();
}
}
respondido 20 mar '13, 15:03
Oye, gracias, encontré una manera de hacerlo, pero no usé tanto, supongo que tu solución es mejor, porque cierra los objetos de flujo correctamente :). Gracias por eso - Tomás Bigueres
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas c# file sharepoint or haz tu propia pregunta.
¿Qué tienes ahora que necesita simplificación? Es difícil juzgar lo que es simple y lo que no lo es sin línea base... - Alexei Levenkov
Oye, he editado mi publicación. Eso es lo que tengo por el momento. Gracias por tu ayuda - Thoma Bigueres
Está escribiendo para leer solo flujo que no tiene sentido. Muestra aproximada agregada a mi respuesta. - Alexei Levenkov