我創建的* .txt文件,像這樣的數據:如何更改值txt文件,並覆蓋它
deviceid,model,availability,renterID,renterName,reneterSurname,OS
0001,iPhone_5S,false,002,John,Dowland,iOS-7.1.2
0002,GalaxyS3,false,002,Amadeus,Mozart,Android-4.3.2
在我的C#應用程序(WPF應用程序)得到這個功能對文件進行操作:現在
private void rentSaveButton_Click(object sender, RoutedEventArgs e)
{
StreamWriter sw = new StreamWriter(@"D:\deviceLib.txt", true);
var currentUser = _list.Where(u => u.Id == int.Parse(userIDTextBox.Text)).FirstOrDefault();
var currentDevice = _list2.Where(i => i.deviceId == int.Parse(deviceIDTextBox.Text)).FirstOrDefault();
if (currentDevice != null && currentUser != null)
{
currentDevice.Availability = false;
currentDevice.rentId = currentUser.Id;
currentDevice.rentName = currentUser.Name;
currentDevice.rentSurname = currentUser.Surname;
dataGridDeviceList.Items.Refresh();
sw.WriteLine();
sw.Close();
MessageBox.Show("Rent done. Thanks!");
tabControl.SelectedItem = mainTab;
}
else
{
MessageBox.Show("We don't have such device. Sorry :(");
userIDTextBox.Clear();
deviceIDTextBox.Clear();
}
}
,問題是,我可以在這檔節目工作中正常工作,它的變化值,可以讀取等,但是當我關閉應用程序(按X鍵)沒有發生。 TXT文件不變,也不保存任何更改。
所以如果你關閉你的應用程序,你點擊保存?你有追溯這個代碼嗎? – BugFinder
你嘗試設置斷點嗎?通常,前面的行是相同的,因爲新的StreamWriter(@「D:\ deviceLib.txt」,true)'告訴streamwriter在目標文件中追加新行。 – Sherlock
這是一個CSV文件,[將其視爲CSV](https://www.nuget.org/packages/CsvHelper/)。 – PTwr