C# 编辑文本文件
C# Editing a text file
我有一个文本文件正在尝试编辑。基本上,文本文件包含业务请求的数据。因此它将按顺序存储姓名、员工 ID、请求类型、请求总数、请求状态以及日期和时间。我必须能够编辑 selected 行的总金额。我正在使用列表视图来 select 该项目。因此,例如,我必须接受 Smith 的请求,编辑 2.00 美元并将其更改为 4.00 美元。
Ryan Rock ,345 ,Food ,6.00 ,Pending ,4/2/2015 3:48:45 PM
Smith ,4567 ,Food ,.00 ,Pending ,4/2/2015 6:26:37 PM
Jerry ,444 ,Travel ,.00 ,Pending ,4/2/2015 6:26:47 PM
private void btnModify_Click(object sender, EventArgs e)
{
foreach (ListViewItem item in listView1.Items)
if (item.Selected)
{
string selected = item.Text.ToString();
string str;
double total;
bool totalCheck = double.TryParse(txtTotal.Text, out total);
if (totalCheck)
{
var lines = File.ReadAllLines("../../textFile/ExpenseReportingData.txt");
lines[3] = "7";
File.WriteAllLines("../../textFile/ExpenseReportingData.txt", lines);
}
else
{
MessageBox.Show("Please Enter A Valid Ammount", "Error");
}
}
}
如有任何帮助,我们将不胜感激。谢谢
要编辑特定行上的值,您可以这样做:
for (int i = 0; i < lines.Length; i++)
{
string[] lineData = lines[i].Split(',');//split the line into an array ["Smith" ,"4567" ,"Food" ,".00" ,"Pending" ,"4/2/2015 6:26:37 PM"]
if (lineData[0] == "Smith")//0 is the index of the client name
{
lineData[3] = ".00";//modifie the value
lines[i] = String.Join(",", lineData);
File.WriteAllLines("../../textFile/ExpenseReportingData.txt", lines);
}
}
但我不推荐它,你应该使用数据库来保存你的数据,并且每个客户端都必须有一个唯一的 ID(许多客户端可以有相同的名称,这会产生问题)
或者您可以尝试使用 XMl / JSON 类型的格式作为您的文本文件
我有一个文本文件正在尝试编辑。基本上,文本文件包含业务请求的数据。因此它将按顺序存储姓名、员工 ID、请求类型、请求总数、请求状态以及日期和时间。我必须能够编辑 selected 行的总金额。我正在使用列表视图来 select 该项目。因此,例如,我必须接受 Smith 的请求,编辑 2.00 美元并将其更改为 4.00 美元。
Ryan Rock ,345 ,Food ,6.00 ,Pending ,4/2/2015 3:48:45 PM
Smith ,4567 ,Food ,.00 ,Pending ,4/2/2015 6:26:37 PM
Jerry ,444 ,Travel ,.00 ,Pending ,4/2/2015 6:26:47 PM
private void btnModify_Click(object sender, EventArgs e)
{
foreach (ListViewItem item in listView1.Items)
if (item.Selected)
{
string selected = item.Text.ToString();
string str;
double total;
bool totalCheck = double.TryParse(txtTotal.Text, out total);
if (totalCheck)
{
var lines = File.ReadAllLines("../../textFile/ExpenseReportingData.txt");
lines[3] = "7";
File.WriteAllLines("../../textFile/ExpenseReportingData.txt", lines);
}
else
{
MessageBox.Show("Please Enter A Valid Ammount", "Error");
}
}
}
如有任何帮助,我们将不胜感激。谢谢
要编辑特定行上的值,您可以这样做:
for (int i = 0; i < lines.Length; i++)
{
string[] lineData = lines[i].Split(',');//split the line into an array ["Smith" ,"4567" ,"Food" ,".00" ,"Pending" ,"4/2/2015 6:26:37 PM"]
if (lineData[0] == "Smith")//0 is the index of the client name
{
lineData[3] = ".00";//modifie the value
lines[i] = String.Join(",", lineData);
File.WriteAllLines("../../textFile/ExpenseReportingData.txt", lines);
}
}
但我不推荐它,你应该使用数据库来保存你的数据,并且每个客户端都必须有一个唯一的 ID(许多客户端可以有相同的名称,这会产生问题)
或者您可以尝试使用 XMl / JSON 类型的格式作为您的文本文件