提问人:IdoEng 提问时间:9/28/2023 最后编辑:djvIdoEng 更新时间:9/28/2023 访问量:43
WriteAllLines 是删除现有文件并重新创建它,还是覆盖其中的数据?
Does WriteAllLines delete the existing file and recreate it, or overwrite the data inside it?
问:
我在我的项目中使用了这个方法。txt 文件将在执行“保存”操作时同步到远程服务器(通过另一个应用程序,在我的情况下是 Autodesk Docs)。File.WriteAllLines()
我不确定为什么,但是使用不会触发文件的同步,而打开它并手动执行保存确实会触发同步。WriteAllLines
我怀疑这可能是由于删除现有文件并创建一个新文件而不是覆盖文件内的数据......?
有没有办法通过删除文件中的现有数据而不是删除现有文件并创建新文件来覆盖?WriteAllLines
我什至删除现有文件并重新创建它是否正确?WriteAllLines
答: 暂无答案
评论
FileStream.SetLength
将文件的长度设置为零,然后将数据写入该流。 等。Using fs = New FileStream("C:\temp\aab.txt", FileMode.OpenOrCreate)
fs.SetLength(0)
Using sw = New StreamWriter(fs)
'write text...
File.WriteAllLines("temp.txt", Guid.NewGuid().ToString().Select(Function(c) c.ToString()))
Using sw As New StreamWriter(filename, False)
Using fs As New FileStream(filename, FileMode.Truncate) Using sw As New StreamWriter(fs)
Using sw As New StreamWriter(filename, True)
Using fs As New FileStream(filename, FileMode.Create) Using sw As New StreamWriter(fs)