繁体   English   中英

如何读取流的所有字节,但最后8

[英]How to read all bytes of a stream but the last 8

我有以下代码:

using (var fs = new FileStream(@"C:\dump.bin", FileMode.Create))
{
    income.CopyTo(fs);
}

income是我需要保存到磁盘的流,问题是我想忽略最后8个字节并在此之前保存所有内容。 收入流是只读的,只是转发,所以我无法预测其大小,我不想因为发送大量文件而在内存中加载所有流。

任何帮助将不胜感激。

也许(或者更确切地说)有一种更清洁的方式,但在我想到的第一个想法是实用的时候是这样:

using (var fs = new FileStream(@"C:\dump.bin", FileMode.Create))
{
    income.CopyTo(fs);
    fs.SetLength(Math.Max(income.Length - 8, 0));
}

写入后设置的文件长度。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM