[英]How to Change the name of a Text File in a loop using visual c# and streamwriter
我正在尝试编写一个循环,该循环读取一个列表,并根据获取数据的时间将列表的一部分保存到不同的文本文件中。 我想根据获取数据的时间来命名文本文件。
以下是相关代码:
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
问题:如何更改变量文件名?
您发布的代码未得到编译。 下次尝试发布输入内容,这样可以更轻松地帮助您回答问题。 无论如何,我试图根据您上面的描述为您提供帮助,希望它会对您有所帮助
课程计划{
static void Main(string[] args)
{
MyTest test = new MyTest();
test.Foo();
}
}
class MyTest
{
private StreamWriter streamWriter;
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" };
public void Foo()
{
string txt_DATE = "25-02-2015";
string[] Data_List = { "12:05:10", "02:15:00", "14:15:22" };
int sizeoflist = 3; // 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.Split('-');//splits input date
var filename = datesplit[0] + '_' + datesplit[1] + '_' + datesplit[2] + '_' + hour[j] + ".dat";
streamWriter = new StreamWriter(new FileStream("C:\\" + filename, FileMode.Append, FileAccess.Write));
}
}
}
}
}
问题在于StreamWriter
是这样声明的:
private StreamWriter filename;
但随后分配了一个字符串:
filename = datesplit[0] + '_' + dateplit[1] + '_' + datesplit[2] + '_' + hour[j] + '.dat'
建议:为文件名和StreamWriter
使用单独的变量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.