您的位置:首页 > 编程语言 > C#

C#文件操作

2008-10-28 20:03 387 查看
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;

/// <summary>
/// FileOperate 的摘要说明
/// </summary>
public class FileOperate
{
public FileOperate()
{
//
// TODO: 在此处添加构造函数逻辑
//
}

//生成一个文件
public static bool WriteFile(string FileContent,string FilePath)
{
try
{
string strPath = System.Web.HttpContext.Current.Server.MapPath(FilePath);
if(System.IO.File.Exists(strPath))
{
System.IO.File.Delete(strPath);
}
System.IO.FileStream Fs = System.IO.File.Create(strPath);
byte[] bcontent = System.Text.Encoding.GetEncoding("GB2312").GetBytes(FileContent);
Fs.Write(bcontent,0,bcontent.Length);
Fs.Close();
Fs = null;
return true;
}
catch
{
return false;
}
finally
{

}

}

//读入文件
public static string ReadWrite(string FilePath)
{
try
{
string strPath = System.Web.HttpContext.Current.Server.MapPath(FilePath);
if (System.IO.File.Exists(strPath))
{
string strRead = System.IO.File.ReadAllText(strPath, System.Text.Encoding.GetEncoding("gb2312"));
return strRead;
}
else
{
return "false";
}

}
catch
{
return "false";
}
finally
{

}

}

//向文件中增加内容
public static bool UpdateFile(string FilePath, string FileContent)
{
try
{
string strPath = System.Web.HttpContext.Current.Server.MapPath(FilePath).ToString();
if (!System.IO.File.Exists(strPath))
{
//文件不存在,生成文件
System.IO.FileStream Fs = System.IO.File.Create(strPath);
byte[] bcontent = System.Text.Encoding.GetEncoding("GB2312").GetBytes(FileContent);
Fs.Write(bcontent, 0, bcontent.Length);
Fs.Close();
Fs = null;
return true;
}

System.IO.FileStream FileRead = new System.IO.FileStream(strPath, System.IO.FileMode.Open, System.IO.FileAccess.ReadWrite);
System.IO.StreamReader FileReadWord = new System.IO.StreamReader(FileRead, System.Text.Encoding.Default);
string OldString = FileReadWord.ReadToEnd().ToString();
OldString = OldString + FileContent;
//把新的内容重新写入
System.IO.StreamWriter FileWrite = new System.IO.StreamWriter(FileRead, System.Text.Encoding.Default);
FileWrite.Write(OldString);
//关闭
FileWrite.Close();
FileReadWord.Close();
FileRead.Close();
return true;

}
catch
{
// throw;
return false;
}
}

//删除文件
public static bool DeleteFile(string FilePath)
{
try
{
string strPath = System.Web.HttpContext.Current.Server.MapPath(FilePath).ToString();
if (System.IO.File.Exists(strPath))
{
System.IO.File.Delete(strPath);
}
return true;
}
catch
{
return false;
}
finally
{

}

}

//创建文件夹
public static bool CreateFolder(string FolderName)
{
if (FolderName.Trim().Length > 0)
{
try
{
string FolderPath = System.Web.HttpContext.Current.Server.MapPath(FolderName);
if (!System.IO.Directory.Exists(FolderPath))
{
System.IO.Directory.CreateDirectory(FolderPath);
return true;
}
else
{
return true;
}
}
catch
{
return false;
}
finally
{

}
}
else
{
return false;
}
}

//删除整个文件夹及其字文件夹和文件
public static bool DeleteFolder(string FolderName)
{
if (FolderName.Trim().Length > 0)
{
try
{
string FolderPath = System.Web.HttpContext.Current.Server.MapPath(FolderName);
if (System.IO.Directory.Exists(FolderPath))
{
System.IO.Directory.Delete(FolderPath,true);
return true;
}
else
{
return true;
}
}
catch
{
return false;
}
finally
{

}
}
else
{
return false;
}
}

// 删除整个文件夹及其字文件夹和文件 (验证没成功)

public static bool DeleParentFolder(string FolderPathName)
{
try
{
string strPath = System.Web.HttpContext.Current.Server.MapPath(FolderPathName).ToString();
System.IO.DirectoryInfo DelFolder = new System.IO.DirectoryInfo(strPath);
if (DelFolder.Exists)
{
DelFolder.Delete();
}
return true;
}
catch
{
return false;
}
}

//遍历一个目录下的全部目录

public static DataTable GetDir(string FilePath)
{
DataTable tb = new DataTable();
tb.Columns.Add("name",typeof(string));
tb.Columns.Add("fullname", typeof(string));
string strPath = System.Web.HttpContext.Current.Server.MapPath(FilePath).ToString();
System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(strPath);

foreach ( System.IO.DirectoryInfo dChild in dir.GetDirectories("*"))
{
//如果用GetDirectories("ab*"),那么全部以ab开头的目录会被显示
DataRow Dr=tb.NewRow();
Dr["name"] = dChild.Name; //打印目录名
Dr["fullname"] = dChild.FullName; //打印路径和目录名
tb.Rows.Add(Dr);

}
return tb;

}

//遍历一个目录下的全部目录

public static DataTable GetFile(string FilePath)
{
DataTable tb = new DataTable();
tb.Columns.Add("name", typeof(string));
tb.Columns.Add("fullname", typeof(string));
string strPath = System.Web.HttpContext.Current.Server.MapPath(FilePath).ToString();
System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(strPath);

foreach (System.IO.FileInfo dChild in dir.GetFiles("*"))
{
//如果用GetDirectories("ab*"),那么全部以ab开头的目录会被显示
DataRow Dr = tb.NewRow();
Dr["name"] = dChild.Name; //打印目录名
Dr["fullname"] = dChild.FullName; //打印路径和目录名
tb.Rows.Add(Dr);

}
return tb;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: