using System;
using System.IO;
using System.Web;
namespace SEC
{
/**//// <summary>
/// 對文件和文件夾的操作類
/// </summary>
public class FileControl
{
public FileControl()
{
}
/**//// <summary>
/// 在根目錄下創建文件夾
/// </summary>
/// <param name="FolderPath">要創建的文件路徑</param>
public void CreateFolder(string FolderPathName)
{
if(FolderPathName.Trim().Length>0)
{
try
{
string CreatePath = System.Web.HttpContext.Current.Server.MapPath
("../../../Images/"+FolderPathName).ToString();
if(!Directory.Exists(CreatePath))
{
Directory.CreateDirectory(CreatePath);
}
}
catch
{
throw;
}
}
}
/**//// <summary>
/// 刪除一個文件夾下面的字文件夾和文件
/// </summary>
/// <param name="FolderPathName"></param>
public void DeleteChildFolder(string FolderPathName)
{
if(FolderPathName.Trim().Length>0)
{
try
{
string CreatePath = System.Web.HttpContext.Current.Server.MapPath
(FolderPathName).ToString();
if(Directory.Exists(CreatePath))
{
Directory.Delete(CreatePath,true);
}
}
catch
{
throw;
}
}
}
/**//// <summary>
/// 刪除一個文件
/// </summary>
/// <param name="FilePathName"></param>
public void DeleteFile(string FilePathName)
{
try
{
FileInfo DeleFile = new FileInfo(System.Web.HttpContext.Current.Server.MapPath
(FilePathName).ToString());
DeleFile.Delete();
}
catch
{
}
}
public void CreateFile(string FilePathName)
{
try
{
//創建文件夾
string[] strPath= FilePathName.Split('/');
CreateFolder(FilePathName.Replace("/" + strPath[strPath.Length-1].ToString(),"")); //創建文件
夾
FileInfo CreateFile =new FileInfo(System.Web.HttpContext.Current.Server.MapPath
(FilePathName).ToString()); //創建文件
if(!CreateFile.Exists)
{
FileStream FS=CreateFile.Create();
FS.Close();
}
}
catch
{
}
}
/**//// <summary>
/// 刪除整個文件夾及其字文件夾和文件
/// </summary>
/// <param name="FolderPathName"></param>
public void DeleParentFolder(string FolderPathName)
{
try
{
DirectoryInfo DelFolder = new DirectoryInfo(System.Web.HttpContext.Current.Server.MapPath
(FolderPathName).ToString());
if(DelFolder.Exists)
{
DelFolder.Delete();
}
}
catch
{
}
}
/**//// <summary>
/// 在文件裡追加內容
/// </summary>
/// <param name="FilePathName"></param>
public void ReWriteReadinnerText(string FilePathName,string WriteWord)
{
try
{
//建立文件夾和文件
//CreateFolder(FilePathName);
CreateFile(FilePathName);
//得到原來文件的內容
FileStream FileRead=new FileStream(System.Web.HttpContext.Current.Server.MapPath
(FilePathName).ToString(),FileMode.Open,FileAccess.ReadWrite);
StreamReader FileReadWord=new StreamReader(FileRead,System.Text.Encoding.Default);
string OldString = FileReadWord.ReadToEnd().ToString();
OldString = OldString + WriteWord;
//把新的內容重新寫入
StreamWriter FileWrite=new StreamWriter(FileRead,System.Text.Encoding.Default);
FileWrite.Write(WriteWord);
//關閉
FileWrite.Close();
FileReadWord.Close();
FileRead.Close();
}
catch
{
// throw;
}
}
/**//// <summary>
/// 在文件裡追加內容
/// </summary>
/// <param name="FilePathName"></param>
public string ReaderFileData(string FilePathName)
{
try
{
FileStream FileRead=new FileStream(System.Web.HttpContext.Current.Server.MapPath
(FilePathName).ToString(),FileMode.Open,FileAccess.Read);
StreamReader FileReadWord=new StreamReader(FileRead,System.Text.Encoding.Default);
string TxtString = FileReadWord.ReadToEnd().ToString();
//關閉
FileReadWord.Close();
FileRead.Close();
return TxtString;
}
catch
{
throw;
}
}
/**//// <summary>
/// 讀取文件夾的文件
/// </summary>
/// <param name="FilePathName"></param>
/// <returns></returns>
public DirectoryInfo checkValidSessionPath(string FilePathName)
{
try
{
DirectoryInfo MainDir = new DirectoryInfo(System.Web.HttpContext.Current.Server.MapPath
(FilePathName));
return MainDir;
}
catch
{
throw;
}
}
}
}