如何读取流中除最后8个字节之外的所有字节

本文关键字:字节 8个 最后 何读取 读取 | 更新日期: 2023-09-27 17:59:21

我有以下代码:

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

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

任何帮助都将不胜感激。

如何读取流中除最后8个字节之外的所有字节

也许(或者更确切地说)有一种更干净的方法来做这件事,但要务实,我现在想到的第一个想法是:

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

哪个集合是写入后的文件长度。