[英]appending info to a text file
我有一個網站,通過該網站我將記錄添加到數據庫中,並將信息也寫到網站的日志文件中。 信息被很好地寫到文件中...我唯一的問題是如何在每次輸入到數據庫時添加信息。 由於目前是這樣,信息已放入lof文件中,但是隨着每個新插入到數據庫中,日志文件中的現有記錄似乎都被覆蓋,並被新插入替換,因此,總是只向其中添加一個記錄。日志文件。 建議也許……這是我在btnClick事件中使用的代碼。
protected void btnSubmitRating_Click1(object sender, EventArgs e)
{
int rating = 0;
try
{
if (radRating.Items[0].Selected)
{
rating = 1;
}
if (radRating.Items[1].Selected)
{
rating = 2;
}
else if (radRating.Items[2].Selected)
{
rating = 3;
}
else if (radRating.Items[3].Selected)
{
rating = 4;
}
else if (radRating.Items[4].Selected)
{
rating = 5;
}
FileStream rate = new FileStream(Server.MapPath("~/rateBooks.log"), FileMode.Open, FileAccess.ReadWrite);
BufferedStream bs = new BufferedStream(rate);
rate.Close();
StreamWriter sw = new StreamWriter(Server.MapPath("~/rateBooks.log"));
sw.WriteLine("userName " + txtUserName.Text + " " + "bookTitle " + txtBookTitle.Text + " " + "ISBN " + txtISBN.Text);
sw.Close();
Service s = new Service();
s.bookRatedAdd(txtBookTitle.Text, rating, txtReview.Text, txtISBN.Text, txtUserName.Text);
btnSubmitRating.Enabled = false;
radRating.Enabled = false;
}
catch (Exception em)
{
lblError.Text = em.Message;
//lblError.Text = "This book has already been reviewed by yourself?";
}
}
親切的問候
更改整個代碼塊:
FileStream rate = new FileStream(Server.MapPath("~/rateBooks.log"), FileMode.Open, FileAccess.ReadWrite);
BufferedStream bs = new BufferedStream(rate);
rate.Close();
StreamWriter sw = new StreamWriter(Server.MapPath("~/rateBooks.log"));
sw.WriteLine("userName " + txtUserName.Text + " " + "bookTitle " + txtBookTitle.Text + " " + "ISBN " + txtISBN.Text);
sw.Close();
對於這一行:
File.AppendAllText(Server.MapPath("~/rateBooks.log"), "userName " + txtUserName.Text + " " + "bookTitle " + txtBookTitle.Text + " " + "ISBN " + txtISBN.Text + Environment.NewLine);
請注意,我現在將NewLine
手動NewLine
到每行。
閱讀本文: 如何:寫入文本文件(C#編程指南)
其中,示例#4顯示了如何附加到文件:
// Example #4: Append new text to an existing file
using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\Users\Public\TestFolder\WriteLines2.txt", true))
{
file.WriteLine("Fourth line");
}
因此,您可以使用您的代碼執行此操作,它應該可以正常工作:
StreamWriter sw = new StreamWriter(Server.MapPath("~/rateBooks.log"), true);
sw.WriteLine("userName " + txtUserName.Text + " " + "bookTitle " + txtBookTitle.Text + " " + "ISBN " + txtISBN.Text);
sw.Close();
編輯:只需使用陰影向導的答案,它更干凈...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.