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();
}
}
}
评论