如果要从文件中删除前几个值,最好的方法是将其余值复制到第二个文件。然后你可以用新文件覆盖原始文件。这里是一些示例代码。
const string yourfile = "buffer1";
const string tempfile = "buffer1edit.bin";
System.IO.FileInfo fi = new System.IO.FileInfo(yourfile);
if (fi.Length > 50)
{
using (System.IO.FileStream originalfile = System.IO.File.Open(yourfile, System.IO.FileMode.Open),
newfile = System.IO.File.Open(tempfile, System.IO.FileMode.CreateNew))
{
originalfile.Seek(50, System.IO.SeekOrigin.Begin);
originalfile.CopyTo(newfile);
}
System.IO.File.Delete(yourfile);
System.IO.File.Move(tempfile, yourfile);
}
你是如何填充缓冲区文件? – BugFinder
'... ReadAllBytes ...'**所有**字节,以及如果文件长度为100 GB,该怎么办?当你想只是大小'if(新的FileInfo(@“buffer1”)。长度> = 50){...}' –
我尝试了FileInfo @第一,不知道为什么,但它没有工作......我一定已经完成有问题。谢谢! –