using System;using System.Collections.Generic;using System.Text;using System.IO; namespace _5_8{ class Program { const string base_path = @"E:\c#\c#_net\chuck"; static void Main(string[] args) { //如果打算多次重用某个对象,可考虑使用 DirectoryInfo 的实例方法,而不是 Directory 类的相应静态方法,因为并不总是需要安全检查。 //create directory DirectoryInfo dir = Directory.CreateDirectory(base_path); //按 base_path 的指定创建所有目录和子目录 //create subdirectories string path = null; for (int i = 0; i < 10; i++) { path=base_path+"\\sub"+i; DirectoryInfo subdir = dir.CreateSubdirectory("sub"+i); Directory.SetCurrentDirectory(subdir.FullName); for (int j = 0; j < i; j++) { subdir.CreateSubdirectory("subsub" + j); } Directory.SetCurrentDirectory(path); //将当前工作的目录重新指向path,因为上面创建了子目录,工作目录在子目录中。 } Console.WriteLine(Directory.GetCurrentDirectory()); createfile(); Directory.Delete(base_path + "\\sub" + 4, true); //目录的移动,两种方法。上面dir目录的创建也可以用DirectoryInfo的create()方法。(但是调用之前得创建DirectoryInfo对象,并判断目录是否存在) //Directory.CreateDirectory(base_path); 好像不会发生 如果base_path存在的异常。 //Directory.Move(base_path + "\\sub" + 3, base_path + "\\sub" + 4); //这方法也可以 DirectoryInfo sub3 = new DirectoryInfo(base_path + "\\sub" + 3); sub3.MoveTo(base_path + "\\sub" + 4); } private static void createfile() { FileStream fs = new FileStream("test.txt",FileMode.OpenOrCreate,FileAccess.ReadWrite,FileShare.None); StreamWriter sw = new StreamWriter(fs); sw.WriteLine("testing"); sw.Flush(); sw.Close(); } }}

评论