2013-03-12 159 views
0

我有一個類似於日記的表單。我希望用戶做筆記,表單會將文本框中的筆記保存爲文本文件。數據附加到文本文件,但我希望它附加到頂部,因此當它加載時,它是用戶能夠看到的第一行文本。將文本追加到文本文件頂部

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

有什麼方法可以將文本插入到文本文件的頂部嗎?

+0

請參閱http://stackoverflow.com/questions/1343044/c-prepending-to-beginning-of-a-file – user1929959 2013-03-12 21:23:55

+0

除了閱讀user1929959發佈的上述線索中的建議之外,我還會考慮保存每個條目在它自己的文件中。例如,抓取最近的10個條目並且然後每個文件將具有其自己的時間戳會容易得多。如果文件變大,它也會減少IO操作速度極慢的機會。另外,是否有任何理由使用數據庫是不可能的? – 2013-03-12 21:40:10

+0

我會非常謹慎地實施來自不具備所有設計參數的人員的建議。例如,@ JacobVanScoy關於多個文件的建議將成爲一個陷阱,如果文件數增長超過1000。 – 2013-03-12 21:48:40

回答

1

獲取您的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) 

這種方法的缺點是,寫入時間會增加時您的文本增加。

+0

如果文件大小非常大,說20mb。在這種情況下閱讀所有文字將會很耗時。任何其他可能的方式? – Pramod 2015-04-30 10:44:25

0

閱讀現有日誌,預先添加新條目,寫入日誌。

不會縮放所有這些,但應該可以工作一段時間。也許根據新條目的數量按日/月/年切換日誌。