[原创]Asp.net对文件夹和文件的操作类
参考了一些资料,写了一个文件操作类和大家分享,有问题的地方请大家多多指教 .
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
//using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
namespace REC
{
/// <summary>
/// FileControl 的摘要说明
/// </summary>
public class FileControl
{
public FileControl()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
/// <summary>
/// 判断是否存在指定文件
/// </summary>
/// <param name="Path"></param>
/// <param name="FileName"></param>
public void IsCreateFile(string Path)
{
if(Directory.Exists(Path))
{}
else
{
FileInfo CreateFile = new FileInfo(Path); //创建文件
if (!CreateFile.Exists)
{
FileStream FS = CreateFile.Create();
FS.Close();
}
}
}
/// <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;
}
}
}
}
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
//using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
namespace REC
{
/// <summary>
/// FileControl 的摘要说明
/// </summary>
public class FileControl
{
public FileControl()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
/// <summary>
/// 判断是否存在指定文件
/// </summary>
/// <param name="Path"></param>
/// <param name="FileName"></param>
public void IsCreateFile(string Path)
{
if(Directory.Exists(Path))
{}
else
{
FileInfo CreateFile = new FileInfo(Path); //创建文件
if (!CreateFile.Exists)
{
FileStream FS = CreateFile.Create();
FS.Close();
}
}
}
/// <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;
}
}
}
}