我有一个简单的函数,它应该接收 Stream 对象并将其写入文件“result.txt”这是我的函数:
public void WriteToFile(Stream stream)
{
StreamReader reader = new StreamReader(stream);
stream.Position = 0;
FileInfo f = new FileInfo("result.txt");
FileStream fs = f.Create();
stream.CopyTo(fs);
stream.Position = 0;
var text = reader.ReadToEnd();
Console.WriteLine(text);
}
Run Code Online (Sandbox Code Playgroud)
但我在写入文件时遇到问题。结果 - 文件为空。但是,我在控制台中收到这行代码的输出:
var text = reader.ReadToEnd();
Console.WriteLine(text);
Run Code Online (Sandbox Code Playgroud)
在控制台中我得到简单而简短的 json 输出
{"startAt":0,"maxResults":0,"total":472,"issues":[]}
Run Code Online (Sandbox Code Playgroud)
此函数可以与其他较大的流配合使用,但这个 52 字节流只是不想写入文件。我究竟做错了什么?
小智 5
你不需要任何 StreamReader,只需这样做:
public void WriteToFile(Stream stream)
{
stream.Seek(0, SeekOrigin.Begin);
using(var fs = new FileStream("/path/to/file", FileMode.OpenOrCreate))
{
stream.CopyTo(fs);
}
}
//var memoryStream...
//...
WriteFoFile(memoryStream);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8701 次 |
| 最近记录: |