.net 将文本附加到文本文件的顶部

.net 将文本附加到文本文件的顶部,.net,vb.net,vb.net-2010,.net,Vb.net,Vb.net 2010,我有一个类似于日记的表格。我想让用户做笔记,表单会将文本框中的笔记保存到文本文件中。数据附加到文本文件,但我希望它附加到顶部,以便在加载时,它是用户能够看到的第一行文本 IO.File.AppendAllText("name.txt", vbCrLf + Date.Today + vbCrLf + TextBox9.Text) 有没有办法将文本插入到文本文件的顶部?读取现有日志,添加新条目,写入日志 虽然不能很好地扩展,但应该可以正常工作一段时间。根据新条目的数量,可以按天/月/年切换日志。获

我有一个类似于日记的表格。我想让用户做笔记,表单会将文本框中的笔记保存到文本文件中。数据附加到文本文件,但我希望它附加到顶部,以便在加载时,它是用户能够看到的第一行文本

IO.File.AppendAllText("name.txt", vbCrLf + Date.Today + vbCrLf + TextBox9.Text)

有没有办法将文本插入到文本文件的顶部?

读取现有日志,添加新条目,写入日志


虽然不能很好地扩展,但应该可以正常工作一段时间。根据新条目的数量,可以按天/月/年切换日志。

获取name.txt的内容并将其放入变量中,然后将新文本附加在其前面。
大概是这样的:

Dim mytext as String 
mytext = Read(name.txt)  
mytext = Date.today & vbCrlf & Textbox9.text & vbCrlf & name.txt  
IO.File.WriteAllText("name.txt", mytext)  

这种方法的缺点是,每当文本增加时,写入时间就会增加。

将文件放入变量,然后只需将旧文本添加到末尾。大概是这样的:

Dim TextFileReader as String
TextFileReader = My.Computer.FileSystem.ReadAllText("path")
IO.File.WriteAllText("path", "Our text to go at the top" & vbnewline & TextFileReader)

除阅读USPR1929 959发布的上述线程之外,我还将考虑将每个条目保存在自己的文件中。例如,抓取最近的10个条目会容易得多,每个文件都会有自己的时间戳。如果文件变大,它还可以降低IO操作速度极慢的可能性。另外,是否有任何理由认为使用数据库是不可能的?我会非常谨慎地执行那些不具备所有设计参数的人的建议。例如,@JacobVanScoy关于多个文件的建议将成为一个陷阱,如果文件数量超过1000个。当你说“文本文件”时,你的意思是要将文件视为一个连续的文本块吗?B/c如果没有,您可以在同一文件中以任意顺序将多个文本块作为链接列表或类似文本块。然后,您可以附加到文件中,但可以按首选顺序显示文本块。有点像是数据库的一半。您可以将数据保存为XML(附加到文件而不是前置),如果TextBox9.Text包含VbCrLf序列(将它们编码为

;
;
),则会有所帮助,然后以相反的日期顺序显示条目。或者,如果VbCrLf不是问题,只需按相反顺序显示条目。如果文件非常大,比如20mb,该怎么办。在这种情况下,阅读所有文本将非常耗时。还有其他可能的方法吗?