public class FileHelper
{
#region 文件名/扩展名/路径名
/// <summary>
/// 获取文件名
/// </summary>
/// <param name="filepath"></param>
/// <returns></returns>
public static string GetFileName(string filepath)
{
return File.Exists(filepath) ? new FileInfo(filepath).Name : "";
}
/// <summary>
/// 取文件扩展名
/// </summary>
/// <param name="filepath"></param>
/// <returns></returns>
public static string GetFileExt(string filepath)
{
return File.Exists(filepath) ? new FileInfo(filepath).Extension : "";
}
/// <summary>
/// 取文件所在路径名,结尾不含 “\”
/// </summary>
/// <param name="filepath"></param>
/// <returns></returns>
public static string GetFolder(string filepath)
{
var info = new FileInfo(filepath).Directory;
return info != null ? info.FullName : "";
}
#endregion
#region 文件读写
/// <summary>
/// 读取文本文件内容
/// </summary>
/// <param name="filePath">文件路径</param>
/// <returns></returns>
public static string ReadTextFile(string filePath)
{
string strFileContent = "";
if (File.Exists(filePath))
{
strFileContent = File.ReadAllText(filePath);
}
return strFileContent;
}
/// <summary>
/// 文本文件修改/替换
/// 将文件内容存入filePath指定文件,替换原有内容,若文件不存在,则新建文件
/// </summary>
/// <param name="filePath"></param>
/// <param name="content"> </param>
/// <returns></returns>
public static bool ModifyFile(string filePath, string content)
{
if (File.Exists(filePath))
{
File.Delete(filePath);
}
using (FileStream fs = File.Create(filePath))
{
Byte[] file = new UTF8Encoding(true).GetBytes(content);
fs.Write(file, 0, file.Length);
}
return File.Exists(filePath);
}
/// <summary>
/// 二进制文件修改/替换
/// 将文件内容存入filePath指定文件,替换原有内容,若文件不存在,则新建文件
/// </summary>
/// <param name="filepath"></param>
/// <param name="file"></param>
/// <returns></returns>
public static bool ModifyFile(string filepath, byte[] file)
{
if (File.Exists(filepath))
{
File.Delete(filepath);
}
using (FileStream fs = File.Create(filepath))
{
fs.Write(file, 0, file.Length);
}
return File.Exists(filepath);
}
/// <summary>
/// 文本文件附加
/// 将内容附加到文件尾
/// </summary>
/// <param name="filepath"></param>
/// <param name="content"></param>
public static void AppendFile(string filepath, string content)
{
if (!File.Exists(filepath))
{
ModifyFile(filepath, content);
}
else
{
using (var fs = File.AppendText(filepath))
{
fs.WriteLine(content);
}
}
}
#endregion
}