学了数组,集合与调用创建文件的方法,想着可以单个创建文件,批量创建如何用这三个内容实现?试了几次,发现基本与脑子里想的差不多
一开始想不明白,用输出不重复的随机数和switch-case去匹配,创建多个文件,但是非常局限,过于死板:
static void Main(string[] args)
{
ArrayList ar = new ArrayList();
Random r = new Random();
for (int i = 0; i < 10; i++)
{
int number = r.Next(1, 11);
//if-else这部分是防止随机数重复的,如果重复就返回上一个循环重新生成
if (!ar.Contains(number))
{
ar.Add(number);
}
else
{
i--;
}
}
for (int i = 0; i < ar.Count; i++)
{
switch (ar[i])
{
case 1:File.Create(@"E:\测试\1.txt");
break;
case 2:File.Create(@"E:\测试\2.txt");
break;
case 3:File.Create(@"E:\测试\3.txt");
break;
case 4:File.Create(@"E:\测试\4.txt");
break;
case 5:File.Create(@"E:\测试\5.txt");
break;
}
}
Console.WriteLine("创建成功");
}
然后又想到文件名如何实现自动匹配生成,由于暂时没学到其他方法,只能在此基础上尝试,对文件名路径进行修改尝试:
将
File.Create(@"E:\测试\1.txt");
变成
File.Create(@"E:\测试\" + ar[i] + ".txt");
然后发现是OK的,至于这种写法是否规范以及有没有其他问题暂时不清楚,结合随机数生成文件,创建自动匹配1-10随机数为文件名的.txt文件:
static void Main(string[] args)
{
ArrayList ar = new ArrayList();
Random r = new Random();
for (int i = 0; i < 10; i++)
{
int number = r.Next(1, 11);
if (!ar.Contains(number))
{
ar.Add(number);
}
else
{
i--;
}
}
for (int i = 0; i < ar.Count; i++)
{
File.Create(@"E:\测试\" + ar[i] + ".txt");
}
Console.WriteLine("创建成功");
}
?然后又突发奇想,文件名如果是中文或者其他字符应该如何处理?应该可以用集合调用AddRange的方法,储存一个数组,用数组的元素作为文件名,然后用元素下标进行匹配文件名:
static void Main(string[] args)
{
ArrayList ar = new ArrayList();
ar.AddRange(new string[] { "文件1", "文件2", "文件3", "文件4", "文件5", "文件6", "文件7", "文件8", "文件9", "文件10" });
for (int i = 0; i < ar.Count; i++)
{
File.Create(@"E:\测试\"+ar[i]+".txt");
}
Console.WriteLine("创建成功");
}
还没学到其他更直接的方法,用近期学到的几个内容进行编写,然后尝试了是OK的,其他更直接的方法是如何实现呢?
最后又突发奇想,能否实现导入Excel表格或者Word文档的内容,比如表格里的姓名,或者某种产品的型号进行操作,批量创建文件或者文件夹?
继续学习,继续思考......
|