从文件中删除最后N个字节

Joh*_*n R 8 .net io

磁盘上有一个非常大的文件.有没有办法删除它的最后N个字节而不将剩余的内容复制到另一个文件?

Joh*_*ler 12

这个C#.NET代码片段怎么样?

FileInfo fi = new FileInfo("filename");
FileStream fs = fi.Open(FileMode.Open);

long bytesToDelete = 5000;
fs.SetLength (Math.Max(0, fi.Length - bytesToDelete));

fs.Close();
Run Code Online (Sandbox Code Playgroud)