初识IO流——创建目录和文件

时间:2022-06-14 12:29:32

  刚开始学习IO流我们首先接触到的是File类和Directory类,这两个类是静态类,他们的方法也都是静态方法,因此调用的时候直接用类来调用。

  同时,又有FileInfo类和DirectoryInfo类,这两个类是非静态类,因此调用FileInfo类和DirectoryInfo类中的方法需要用对象来调用,FileInfo类和DirectoryInfo类里面的方法也分别与File类和Directory类中的方法差不多。下面我们来看看它们分别是如何创建目录和文件的。

 

  1.Directory类创建目录:

 1 /*静态类(Directory)创建目录*/
 2         protected void DirClick(object sender, EventArgs e)
 3         {
 4 
 5             /*给定文件目录。其中@可将转义字符(\)当做普通字符对待*/
 6             string D_name = @"F:\Test";
 7 
 8 
 9             /*若文件夹已存在,则给出提示信息,否则创建该目录*/
10             if (Directory.Exists(D_name))
11             {
12                 /*向页面注册JS事件*/
13                 ClientScript.RegisterStartupScript(this.GetType(), "fail_message", "<script>alert('文件夹已存在!')</script>");
14 
15             }
16             else
17             {
18                 
19                 Directory.CreateDirectory(D_name);
20 
21                 ClientScript.RegisterStartupScript(this.GetType(), "fail_message", "<script>alert('创建成功!')</script>");
22 
23             }
24 
25         }

  

  2.File类创建文件:

 1 /*静态类(File)创建文件*/
 2         protected void FileClick(object sender, EventArgs e)
 3         {
 4             
 5             /*给定文件目录及文件名*/
 6             string File_name = @"F:\123.txt";
 7 
 8             /*判断,若文件已存在,则给出提示信息,否则创建该文件*/
 9             if (File.Exists(File_name))
10             {
11                 /*向页面注册JS事件*/
12                 ClientScript.RegisterStartupScript(this.GetType(), "fail_message", "<script>alert('文件已存在!')</script>");
13 
14             }
15             else
16             {
17                 /*File.Create(string File_name)返回的是FileStream类型
18                  *这里我们需要关闭关闭当前文件流并释放与之关联的所有资源
19                  *FileStream为我们提供了该方法
20                  */
21 
22                  /*
23                   * 注意:创建文件流后,无论是读取还是写入操作,最后必须用Close方法关闭文件流!
24                   * 这样做的目的一方面是释放文件操作所占用的系统资源,另一方面避免文件有出现无法预料的结果。
25                   */
26 
27                 FileStream filestream;
28 
29                 filestream = File.Create(File_name);
30 
31 
32                 filestream.Close();
33 
34                 ClientScript.RegisterStartupScript(this.GetType(), "fail_message", "<script>alert('创建成功!')</script>");
35             }
36 
37         }

  

  以上是静态类File类和Directory类分别创建文件和目录的过程,要注意的是创建文件流后一定要记得关闭文件流。

  FileInfo类和DirectoryInfo类分别创建文件和目录的过程与上面类似,只是需要创建FileInfo类和DirectoryInfo类的对象,用对象来操作。具体过程就不再赘述。