我有遗留类使用StreamWriter
将一些结果写入文件,使用接受FileStream
的构造函数创建,该构造函数先前是通过为其构造函数提供文件路径而创建的:
using (FileStream fs = File.Open(outputFilePath, FileMode.Create))
using (StreamWriter sw = new StreamWriter(fs))
{
MyFileWriter.WriteToFile(someData, sw);
}
顺便说一句,声明的代码用于WCF服务
现在,我有新的要求,我必须将文件保存到客户端文件系统,我有约束,我只能发送byte []到客户端。我想对现有代码进行微小的更改以支持这一点,例如,是否存在某种类型的流,我可以创建它而不需要在其构造函数中指定文件路径?稍后我会将此流转换为byte[]
我对你可能有的任何其他想法持开放态度。
答案 0 :(得分:5)
您可以使用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[]
答案 1 :(得分:1)
使用MemoryStream
。
using (MemoryStream ms = new MemoryStream())
{
using (StreamWriter sw = new StreamWriter(ms))
{
MyFileWriter.WriteToFile(someData, sw);
}
}