创建文件
创建一个文件夹
Directory.CreateDirectory("./图书管理系统");
创建文件
File.Create("./图书管理系统/暴走大事件.png");//改变文件后缀名,可创建不同类型的文件
File.Delete("./图书管理系统");//删除指定文件
读取文件信息
byte[] sByte = File.ReadAllBytes("./图书管理系统/暴走大事件.txt");
File.WriteAllBytes("./图书管理系统/1.txt", sByte);//将sByte中的信息写入到1.txt里
创建一个文件目录对象
DirectoryInfo dicInfo = new DirectoryInfo("./图书管理系统");
dicInfo.Delete();//删除空目录
获取当前目下的文件结构
//第1种
string[] files = Directory.GetFiles("./");//获取所有文件路径信息
string pattern = @".+\.txt$";
foreach (string i in files)
{
if (Regex.IsMatch(i,pattern))
{
File.Delete(i);删除文件
}
}
//第2种
string[] dicectories = Directory.GetDirectories("./");
foreach (string i in dicectories)
{
Console.WriteLine(i);
}
练习:使用学到的文件操作,创建三个文件文件名分别是数学.txt,语文.txt,英语.txt,里面分别存放着50个学生的数学,语文,英语成绩,每一行放着名字和对应的分数,名字是小明1,小明2这样的规律显示,分数随机,每一行显示的完整内容是 科目+名字+分数,接下来用我们前面讲到的正则表达式,找出所有txt文件中的小明1的成绩逐行显示到1.txt文件中
StreamWriter fsMath = new StreamWriter("./数学.txt");//数学
StreamWriter fsEnglish = new StreamWriter("./英语.txt");//英语
StreamWriter fsChine = new StreamWriter("./语文.txt");//语文
//数学
for (int i = 1; i <= 50; i++)
{
Random ran = new Random();
int score1 = ran.Next(0, 100);
fsMath.WriteLine("数学 小明{0} {1}", i, score1);
}
fsMath.Close();
//英语
for (int i = 1; i <= 50; i++)
{
Random ran = new Random();
int score2 = ran.Next(0, 100);
fsEnglish.WriteLine("英语 小明{0} {1}", i, score2);
}
fsEnglish.Close();
//语文
for (int i = 1; i <= 50; i++)
{
Random ran = new Random();
int score3 = ran.Next(0, 100);
fsChine.WriteLine("语文 小明{0} {1}", i, score3);
}
fsChine.Close();
StreamReader stra1 = new StreamReader("./数学.txt");
StreamReader str2 = new StreamReader("./英语.txt");
StreamReader stra3 = new StreamReader("./语文.txt");
string str1 = stra1.ReadToEnd();
string strs2 = str2.ReadToEnd();
string str3 = stra3.ReadToEnd();
string[] s1 = str1.Split("\n");
string[] s2 = strs2.Split("\n");
string[] s3 = str3.Split("\n");
string ss = @"小明1";
StreamWriter st = new StreamWriter("./1.txt",true);
foreach (string i in s1)
{
if (Regex.IsMatch(i,ss))
{
st.WriteLine(i);
break;
}
}
foreach (string i in s2)
{
if (Regex.IsMatch(i, ss))
{
st.WriteLine(i);
break;
}
}
foreach (string i in s3)
{
if (Regex.IsMatch(i, ss))
{
st.WriteLine(i);
break;
}
}
st.Close();