我有一个遗留类,它使用 StreamWriter
将一些结果写入文件,该类是使用接受 FileStream
的构造函数创建的,该类之前是通过为其构造函数提供文件路径来创建的:
using (FileStream fs = File.Open(outputFilePath, FileMode.Create))
using (StreamWriter sw = new StreamWriter(fs))
{
MyFileWriter.WriteToFile(someData, sw);
}
顺便说一句,WCF 服务中使用了规定的代码。
现在,我有新的要求,我必须将文件保存到客户端文件系统,并且我有限制,我只能将 byte[] 发送到客户端。我想对现有代码进行最少的更改以支持这一点,例如,是否存在某种我可以创建而无需在其构造函数中指定文件路径的流?稍后我会将此流转换为 byte[]
。
我也愿意接受您可能有的任何其他想法。
最佳答案
您可以使用 MemoryStream,
byte[] result;
using (MemoryStream ms = new MemoryStream())
using (StreamWriter sw = new StreamWriter(ms))
{
MyFileWriter.WriteToFile(someData, sw);
result = ms.ToArray();
}
// use the result byte[]
关于c# - 写入没有文件路径的流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11609018/