gpt4 book ai didi

c# - 如何使用 FileStream 覆盖现有文本

转载 作者:太空宇宙 更新时间:2023-11-03 16:20:12 25 4
gpt4 key购买 nike

注意:我不能使用 FileMode.Create 或 FileMode.Truncate,因为它们会导致一些不需要的问题

 byte[] data = new UTF8Encoding().GetBytes(this.Box.Text);
FileStream f = File.Open(path, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite);
f.Write(data, 0, data.Length);
f.Close();

这会将新文本附加到旧文本的顶部。我怎样才能覆盖所有内容?

最佳答案

你的代码

byte[] data = new UTF8Encoding().GetBytes(this.Box.Text);
FileStream f = File.Open(路径, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite);
f.Write(数据, 0, 数据长度);
f.Close();

为什么你不能做这样的事情..?请解释为什么你不能使用 FileMode.Create

byte[] data = new UTF8Encoding().GetBytes(this.Box.Text);
using(Stream f = File.Open(path, FileMode.Write))
{
f.Write(data, 0, data.Length);
}

你也可以这样做

1. Let the users write to the same file
2. capture the users Machine Name or User Id then
2. write a line in your file like this

strSeprate = new string('*',25);
//will write to the file "*************************";
f.Write(strSeprate);
f.Write(Machine Name or UserId);
f.Write(data);
f.Write(DateTime.Now.ToString());
f.Write(strSeprate);

只是一个想法..

关于c# - 如何使用 FileStream 覆盖现有文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14270099/

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