如何读取流的所有字节但最后 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));
}
写入后的文件长度是哪个设置的
我有以下代码:
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));
}
写入后的文件长度是哪个设置的