gpt4 book ai didi

.net - FileStream和StreamWriter-写入后如何截断文件的其余部分?

转载 作者:行者123 更新时间:2023-12-03 13:31:55 27 4
gpt4 key购买 nike

var fs = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.ReadWrite);
using(var writer = new StreamWriter(fs))
writer.Write(....);

如果文件先前包含的文本和新编写的文本比文件中已有的文本短,那么我如何确保文件中的过时尾随内容被截断?

请注意,在这种情况下,不能以截断模式打开文件。当我收到 FileStream对象时,该文件已经打开。上面的代码只是为了说明流的属性。

编辑

扩展下面的答案,解决方案是:
var fs = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.ReadWrite);
using(var writer = new StreamWriter(fs))
{
writer.Write(....);
writer.Flush();
fs.SetLength(fs.Position);
}

最佳答案

使用 SetLength 设置文件的新长度-文件应被截断。

参见this answer的相关问题。

关于.net - FileStream和StreamWriter-写入后如何截断文件的其余部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8464261/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com