FileUtil.cs 3.1 KB
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;

namespace URSoldering.Common
{
   public class FileUtil
    {
        public static string[] ReadFileArray(string filePath)
        {
            try
            {
                string[] lines = File.ReadAllLines(filePath, Encoding.GetEncoding("gbk"));
                return lines;
            }
            catch (Exception ex)
            {
                LogUtil.error("读取文件【" + filePath + "】出错:" + ex.ToString());
            }
            return new string[] { };
        }
        public static bool SaveListToFile(string[] lines, string filePath)
        {
            try
            {
                if (File.Exists(filePath))
                {
                    File.Delete(filePath);
                }

                File.WriteAllLines(filePath, lines, Encoding.GetEncoding("gbk"));

                FileUtil.BackConfig(filePath, lines);
            }
            catch (Exception ex)
            {
                LogUtil.error("保存文件【" + filePath + "】出错:" + ex.ToString());
                return false;
            }
            return true;
        }
        public static void BackConfig(string filePath, string[] lines)
        {
            //备份保存
            try
            {
                FileInfo file = new FileInfo(filePath);
                string date = DateTime.Now.ToString("yyyy-MM-dd");
                string targetBackPath = @"C:\configBack\" + date + @"\";
                if (!Directory.Exists(targetBackPath))
                {
                    Directory.CreateDirectory(targetBackPath);
                }
                string fileName = DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss") + "." + file.Name;
                string backFile = targetBackPath + fileName;

                if (File.Exists(backFile))
                {
                    File.Delete(backFile);
                }
                File.WriteAllLines(backFile, lines, Encoding.GetEncoding("gbk"));
            }
            catch (Exception e)
            {
                LogUtil.error("备份【"+ filePath + "】到C:configBack出错:" + e.ToString());
            }
            //备份保存
            try
            {
                FileInfo file = new FileInfo(filePath);
                string date = DateTime.Now.ToString("yyyy-MM-dd");
                string targetBackPath = @"D:\configBack\" + date + @"\";
                if (!Directory.Exists(targetBackPath))
                {
                    Directory.CreateDirectory(targetBackPath);
                }
                string fileName = DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss") + "." + file.Name;
                string backFile = targetBackPath + fileName;
                if (File.Exists(backFile))
                {
                    File.Delete(backFile);
                }
                File.WriteAllLines(backFile, lines, Encoding.GetEncoding("gbk"));
            }
            catch (Exception e)
            {
                LogUtil.error("备份【" + filePath + "】到D:configBack出错:" + e.ToString());
            }
        }
    }
}