文本文件从磁盘读取、写入

29 篇文章 0 订阅
28 篇文章 0 订阅
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);
        }         
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值