using System;
using System.IO;
using System.Text;


/**//// <summary>
/// Summary description for FileOperation
/// </summary>
public class FileOperation


{
public FileOperation()

{

}

/**//*初始化*/
private void Init()

{
opened = false;
openforwriter = false;
}


/**//* 文件路径和名*/
public string message;
string _filename;
string _direcory;
string _filepath;
int _count;
string[] dirname, filename;
private StreamReader ts;
private StreamWriter ws;
public bool opened, openforwriter;
public string FileName

{
get

{ return _filename; }
set

{ _filename = value; }
}
public string Direcry

{


get
{ return _direcory; }


set
{ _direcory = value; }
}
//删除文件夹
public void DeleteFolder()

{
string dir;
dir=_direcory ;
if (Directory.Exists(dir)) //如果存在这个文件夹删除之

{
foreach (string d in Directory.GetFileSystemEntries(dir))

{
if (File.Exists(d))

{ File.Delete(d); } //直接删除其中的文件
else

{ DeleteFolder(d); } //递归删除子文件夹
}
Directory.Delete(dir); //删除已空文件夹
message ="删除文件夹成功";
}
else

{
message.Remove(1, message.Length);
message = "文件夹不存在";
}

}
//删除文件
public void DeleteFile()

{
if (File.Exists(_filename))

{ File.Delete(_filename); }
else

{
message.Remove(1, message.Length);
message = "文件不存在";
}
}
//得到文件目录
public string [] GetDirectName()

{
_count = 0;

DirectoryInfo dirroot = new DirectoryInfo(_direcory);
DirectoryInfo[] dirs = dirroot.GetDirectories(_direcory);
foreach (DirectoryInfo dir in dirs)

{ _count++;
dirname[_count] = dir.Name;
}
return dirname;
}
public string[] GetFileName()

{
_count = 0;
DirectoryInfo dirroot = new DirectoryInfo(_direcory);
FileInfo [] files=dirroot .GetFiles ();
foreach (FileInfo file in files )

{ _count++;
filename[_count] = file.Name;
}
return filename;
}
//创建文件目录
public void CreateDirect(string newdirecory)

{
Directory .SetCurrentDirectory (_direcory );
Directory.CreateDirectory(newdirecory);


}
//创建新文件

public void CreateFile(string filename)

{
if (File.Exists(filename))

{
message = "";
message = "文件已经存在";

}
else

{ File.Create (filename);}
}



/**//*读取文件*/
public bool OpenForRead(string filename)

{
_filename = filename;
try

{
ts = new StreamReader(_filename);
opened = true;
return true;
}
catch (FileNotFoundException ex)

{ return false; }
}
public bool OpenForRead()

{
return OpenForRead(_filename);
}
public string ReadLine()

{ return ts.ReadLine(); }

/**//*写文件*/

public bool OpenForWrite()

{ return OpenForWrite(_filename); }
public bool OpenForWrite(string filename)

{
_filename = filename;
try

{
ws = new StreamWriter(_filename);
openforwriter = true;
return true;
}
catch (FileNotFoundException ex)

{ return false; }

}
public void WriteLine(string cha)

{ ws.WriteLine(cha); }
public string FilePath

{

get
{ return _filepath; }

set
{ _filepath = value; }
}
//文件的移动
public void movefile(string sourcefile ,string destfile)

{ File.Move(sourcefile ,destfile ); }

//文件的复制
public void Copyfile(string sourcefile ,string destfile)

{ File.Copy(sourcefile, destfile); }


}

初初写了文件操作的类,补充写的以前一些功能,感觉还是不行,以后逐步学习再加强吧