【发布时间】:2015-09-12 11:54:11
【问题描述】:
我正在尝试编写一个循环来读取列表,并根据获取数据的时间将该列表的一部分保存到不同的文本文件中。我想根据获取数据的时间来命名文本文件。
以下是相关代码:
private StreamWriter filename;
string[] hour = {"00","01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23}
private void btn_hourfiles_click(object sender, EventArgs e)
{
int sizeoflist = Data_List.Count(); //This is the list containing the data
for (int i = 0; i<sizeoflist,i++)
{
string[] listsplit = Data_List[i].Split(":");
for (int j = 0; j<24; j++)
{
if (listsplit[2] == hour[j])
{
string[] datesplit = txt_DATE.Text.Split('-');//splits input date
filename = datesplit[0] + '_' + dateplit[1] + '_' + datesplit[2] + '_' + hour[j] + '.dat'
filename = new StreamWriter(new FileStream(Data_List[i], FileMode.Append, FileAccess.Write));
}
}
}
}
问题:我无法更改 StreamWriter filename。我收到一条错误消息:Cannot implicitly convert type string to System.IO.StreamWriter
问题:如何更改变量文件名?
【问题讨论】:
-
好吧,不 - 您正在尝试将
string值分配给filename。你期望做什么?目前尚不清楚为什么你有一个StreamWriter的私有变量......我建议称它为filename也不是一个好选择。您实际上在哪里写入数据?使用File.WriteAllText或任何可能会让您的生活更轻松的方式来做这件事。 -
@Jonskeet 我正在尝试创建一个名称基于小时的文件,并将该特定小时的数据写入文件。 (但不同的时间应该在不同的文件中)例如应该有一个文件“2015_06_25_1200.dat”和“2015_06_25_1500.dat”。 File.WriteAllText 会这样做吗?
-
好吧,
File.WriteAllText将您要求的文本写入您要求的文件中。就这么简单。同样,您似乎没有在您提供的代码中写入任何数据 - 我们不知道txt_DATE将包含什么,或者listsplit将包含什么,这无济于事......
标签: c# streamwriter