using System;
using System.Text;
using System.IO;
namespace XXXX.Common
{
/// <summary>
/// 文本文件从磁盘读取、写入
/// </summary>
public class FileHelper
{
/// <summary>
/// 从文件中读取文本内容
/// </summary>
/// <param name="filePath">文本路径</param>
/// <returns>返回文件中的内容</returns>
public static string Read(string filePath)
{
string result = string.Empty;
if (File.Exists(filePath))
{
using (StreamReader sr = new StreamReader(filePath, Encoding.Default))
{
result = sr.ReadToEnd();
sr.Close();
return result;
}
}
return result;
}
/// <summary>
/// 写入文本文件,按默认编码
/// </summary>
/// <param name="filePath">文本文件路径包括文件名</param>
/// <param name="content">写入内容</param>
public static void Write(string filePath, string content)
{
using (StreamWriter sw = new StreamWriter(filePath, false, Encoding.Default))
{
sw.Write(content);
sw.Close();
}
}
/// <summary>
/// 写入文本文件,以UFT8格式编码
/// </summary>
/// <param name="filePath">文本文件路径包括文件名</param>
/// <param name="content">写入内容</param>
/// <param name="UTF8"></param>
public static void Write(string filePath, string content, bool UTF8)
{
using (StreamWriter sw = new StreamWriter(filePath, false, Encoding.UTF8))
{
sw.Write(content);
sw.Close();
}
}
/// <summary>
/// 备份文件
/// </summary>
/// <param name="sourceFileName">源文件路径</param>
/// <param name="destFileName">目标文件路径</param>
/// <param name="overwrite">是否覆盖已存在文件</param>
/// <returns></returns>
public static bool BackupFile(string sourceFileName, string destFileName, bool overwrite)
{
bool flag;
if (!File.Exists(sourceFileName))
{
throw new FileNotFoundException(sourceFileName + "文件不存在!");
}
if (!overwrite && File.Exists(destFileName))
{
return false;
}
try
{
File.Copy(sourceFileName, destFileName, true);
flag = true;
}
catch (Exception exception)
{
throw exception;
}
return flag;
}
/// <summary>
/// 拷贝文件夹文件
/// </summary>
/// <param name="srcDir"></param>
/// <param name="dstDir"></param>
public static void CopyDirFiles(string srcDir, string dstDir)
{
if (Directory.Exists(srcDir))
{
foreach (string str in Directory.GetFiles(srcDir))
{
string destFileName = Path.Combine(dstDir, Path.GetFileName(str));
File.Copy(str, destFileName, true);
}
foreach (string str3 in Directory.GetDirectories(srcDir))
{
string str4 = str3.Substring(str3.LastIndexOf(@"\") + 1);
CopyDirFiles(Path.Combine(srcDir, str4), Path.Combine(dstDir, str4));
}
}
}
/// <summary>
/// 删除文件夹文件
/// </summary>
/// <param name="dir"></param>
public static void DeleteDirFiles(string dir)
{
if (Directory.Exists(dir))
{
foreach (string str in Directory.GetFiles(dir))
{
File.Delete(str);
}
foreach (string str2 in Directory.GetDirectories(dir))
{
Directory.Delete(str2, true);
}
}
}
/// <summary>
/// 获得文件最后修改时间
/// </summary>
/// <param name="file"></param>
/// <returns></returns>
public static DateTime GetFileLastWriteTime(string file)
{
if (File.Exists(file))
{
return File.GetLastWriteTime(file);
}
return DateTime.MaxValue;
}
/// <summary>
/// 取消文件的只读属性
/// </summary>
/// <param name="file"></param>
public static void RemoveFileReadOnlyAttribute(string file)
{
File.SetAttributes(file, File.GetAttributes(file) & ~FileAttributes.ReadOnly);
}
}
}
文本文件从磁盘读取、写入
最新推荐文章于 2021-01-04 10:17:54 发布