From dc0309e64f02227d8e1468b7326c07955f804612 Mon Sep 17 00:00:00 2001
From: chenqiyang <1406175257@qq.com>
Date: 星期三, 22 六月 2022 11:22:18 +0800
Subject: [PATCH] 修改引用路径
---
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlFileLogic.cs | 892 ++++++++++++++++++++++++++++++-----------------------------
1 files changed, 451 insertions(+), 441 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlFileLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlFileLogic.cs
old mode 100755
new mode 100644
index 640cb70..bad19fa
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlFileLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlFileLogic.cs
@@ -1,441 +1,451 @@
-锘縰sing Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace Shared.Phone.UserCenter
-{
- /// <summary>
- /// 鏂囦欢鎿嶄綔鐨勯�昏緫
- /// </summary>
- public class HdlFileLogic
- {
- #region 鈻� 鍙橀噺澹版槑___________________________
-
- /// <summary>
- /// 鏂囦欢鎿嶄綔鐨勯�昏緫
- /// </summary>
- private static HdlFileLogic m_Current = null;
- /// <summary>
- /// 鏂囦欢鎿嶄綔鐨勯�昏緫
- /// </summary>
- public static HdlFileLogic Current
- {
- get
- {
- if (m_Current == null)
- {
- m_Current = new HdlFileLogic();
- }
- return m_Current;
- }
- }
- #endregion
-
- #region 鈻� 棰勫垱寤轰釜浜轰腑蹇冨叏閮ㄧ殑鏂囦欢澶筥________
-
- /// <summary>
- /// 棰勫垱寤轰釜浜轰腑蹇冨叏閮ㄧ殑鏂囦欢澶�
- /// </summary>
- public void CreatAllUserCenterDirectory()
- {
- //鏈湴缂撳瓨鐨勬牴鐩綍
- this.CreateDirectory(DirNameResourse.LocalMemoryDirectory);
-
- //鑷姩澶囦唤銆愭枃浠跺す銆�(缂栬緫,杩藉姞)
- this.CreateDirectory(DirNameResourse.AutoBackupDirectory);
-
- //鑷姩澶囦唤銆愭枃浠跺す銆�(鍒犻櫎)
- this.CreateDirectory(DirNameResourse.AutoBackupdeleteDirectory);
-
- //涓嬭浇澶囦唤鐨勬椂鍊欐墍浣跨敤鐨勪复鏃躲�愭枃浠跺す銆�
- this.CreateDirectory(DirNameResourse.DownLoadBackupTempDirectory);
-
- //淇濆瓨瀹夐槻璁板綍鐨勩�愭枃浠跺す銆�
- this.CreateDirectory(DirNameResourse.SafeguardAlarmDirectory);
-
- //涓嬭浇鍒嗕韩鏂囦欢鐨勪复鏃躲�愭枃浠跺す銆�
- this.CreateDirectory(DirNameResourse.DownLoadShardDirectory);
-
- //LOG鍑哄姏銆愭枃浠跺す銆�
- this.CreateDirectory(DirNameResourse.LogDirectory);
-
- //鐢ㄦ埛鍥剧墖鐩綍璺緞銆愭枃浠跺す銆�
- if (UserCenterResourse.AccountOption.UserPictruePath != string.Empty)
- {
- this.CreateDirectory(UserCenterResourse.AccountOption.UserPictruePath);
- }
- }
-
- #endregion
-
- #region 鈻� 鏂囦欢淇濆瓨鍜岃鍙朹____________________
-
- /// <summary>
- /// 鏂囦欢淇濆瓨(鏁村ぉ蹇樿,鎵�浠ュ缓涓�涓嚱鏁版潵鐜╃帺)
- /// </summary>
- /// <param name="fullName">鍏ㄨ矾寰�</param>
- /// <param name="obj">闇�瑕佸簭鍒楀寲鐨勪笢瑗�</param>
- public void SaveFileContent(string fullName, object obj)
- {
- var data = JsonConvert.SerializeObject(obj);
- this.SaveTextToFile(fullName, data);
- }
-
- /// <summary>
- /// 鏂囦欢淇濆瓨(鏁村ぉ蹇樿,鎵�浠ュ缓涓�涓嚱鏁版潵鐜╃帺)
- /// </summary>
- /// <param name="fullName">鍏ㄨ矾寰�</param>
- /// <param name="textValue">鏂囨湰</param>
- public void SaveTextToFile(string fullName, string textValue)
- {
- var byteData = Encoding.UTF8.GetBytes(textValue);
- this.SaveByteToFile(fullName, byteData);
- }
-
- /// <summary>
- /// 鏂囦欢淇濆瓨(鏁村ぉ蹇樿,鎵�浠ュ缓涓�涓嚱鏁版潵鐜╃帺)
- /// </summary>
- /// <param name="fullName">鍏ㄨ矾寰�</param>
- /// <param name="byteData">byte鏁版嵁</param>
- public void SaveByteToFile(string fullName, byte[] byteData)
- {
- if (byteData == null) { return; }
- //鍐欏叆鍐呭
- System.IO.FileStream fileStream = null;
- try
- {
- fileStream = new System.IO.FileStream(fullName, System.IO.FileMode.Create, System.IO.FileAccess.Write);
- fileStream.Write(byteData, 0, byteData.Length);
- fileStream.Flush();
- }
- catch { }
- finally
- {
- fileStream?.Close();
- }
- }
-
- /// <summary>
- /// 璇诲彇鏂囦欢,涓嶉檺鍒朵綇瀹�(鏂囦欢涓嶅瓨鍦ㄨ繑鍥瀗ull,鏁村ぉ蹇樿,鎵�浠ュ缓涓�涓嚱鏁版潵鐜╃帺)
- /// </summary>
- /// <param name="fullName">鍏ㄨ矾寰�</param>
- /// <returns></returns>
- public string ReadFileTextContent(string fullName)
- {
- //璇诲彇鏂囦欢
- var varByte = this.ReadFileByteContent(fullName);
- if (varByte == null)
- {
- return null;
- }
- return Encoding.UTF8.GetString(varByte);
- }
-
- /// <summary>
- /// 璇诲彇鏂囦欢,涓嶉檺鍒朵綇瀹�,鏂囦欢涓嶅瓨鍦ㄨ繑鍥瀗ull
- /// </summary>
- /// <param name="fullName">鍏ㄨ矾寰�</param>
- /// <returns></returns>
- public byte[] ReadFileByteContent(string fullName)
- {
- if (System.IO.File.Exists(fullName) == false)
- {
- return null;
- }
- System.IO.FileStream fileStream = null;
- try
- {
- fileStream = new System.IO.FileStream(fullName, System.IO.FileMode.Open, System.IO.FileAccess.Read);
- byte[] array = new byte[fileStream.Length];
- fileStream.Read(array, 0, array.Length);
- return array;
- }
- catch
- {
- return null;
- }
- finally
- {
- fileStream?.Close();
- }
- }
-
- #endregion
-
- #region 鈻� 鏂囦欢澶规搷浣滃嚱鏁癬____________________
-
- /// <summary>
- /// 鍒涘缓涓�涓枃浠跺す
- /// </summary>
- /// <param name="fullDirectory">闇�瑕佸垱寤虹殑鏂囦欢澶瑰叏璺緞</param>
- /// <param name="clear">濡傛灉鏂囦欢澶瑰瓨鍦紝鏄惁闇�瑕佹竻绌烘枃浠跺す</param>
- public void CreateDirectory(string fullDirectory, bool clear = false)
- {
- if (System.IO.Directory.Exists(fullDirectory) == false)
- {
- try
- {
- System.IO.Directory.CreateDirectory(fullDirectory);
- }
- catch (Exception ex)
- {
- HdlLogLogic.Current.WriteLog(ex, "鍒涘缓鏂囦欢澶瑰け璐�:" + fullDirectory);
- }
- }
- else if (clear == true)
- {
- //濡傛灉瀛樺湪锛屽垯娓呯┖鍏ㄩ儴鏂囦欢
- var files = System.IO.Directory.GetFiles(fullDirectory);
- foreach (var file in files)
- {
- this.DeleteFile(file);
- }
- }
- }
-
- /// <summary>
- /// 鍒犻櫎鏂囦欢澶�
- /// </summary>
- /// <param name="fullDirectory">鏂囦欢澶瑰叏璺緞</param>
- public void DeleteDirectory(string fullDirectory)
- {
- if (System.IO.Directory.Exists(fullDirectory) == true)
- {
- try { System.IO.Directory.Delete(fullDirectory, true); }
- catch (Exception ex)
- {
- HdlLogLogic.Current.WriteLog(ex, "鍒犻櫎鏂囦欢澶瑰け璐�:" + fullDirectory);
- }
- }
- }
-
- /// <summary>
- /// 鑾峰彇鎸囧畾鏂囦欢澶归噷闈㈢殑鍏ㄩ儴鏂囦欢
- /// </summary>
- /// <param name="directory">鏂囦欢璺緞锛堝叏鍚嶏級</param>
- /// <param name="onlyFileName">鍗曠函鍙槸鑾峰彇鏂囦欢鍚嶅瓧,濡傛灉涓篺alse鏃�,灏嗚繑鍥炴枃浠剁殑鍏ㄨ矾寰�</param>
- /// <returns></returns>
- public List<string> GetFileFromDirectory(string directory, bool onlyFileName = true)
- {
- if (System.IO.Directory.Exists(directory) == false)
- {
- return new List<string>();
- }
-
- var list = new List<string>();
- try
- {
- //2020.07.10鐨勬椂鍊�,鍑虹幇杩囪幏鍙栧け璐ュ紓甯� 鎻愮ず:write fault on path
- var files = System.IO.Directory.GetFiles(directory);
- foreach (var file in files)
- {
- string fileName = file;
- if (onlyFileName == true)
- {
- fileName = fileName.Substring(directory.Length + 1);
- }
- list.Add(fileName);
- }
- }
- catch (Exception ex)
- { HdlLogLogic.Current.WriteLog(ex); }
-
- return list;
- }
-
- /// <summary>
- /// 鑾峰彇鏍圭洰褰曠殑鍏ㄩ儴鏂囦欢鍒楄〃
- /// </summary>
- /// <returns></returns>
- public List<string> GetRootPathListFile()
- {
- return this.GetFileFromDirectory(Common.Config.Instance.FullPath);
- }
-
- /// <summary>
- /// 灏嗘寚瀹氭枃浠跺す閲岄潰鐨勫叏閮ㄦ枃浠剁Щ鍔ㄥ埌褰撳墠浣忓畢鐨勬枃浠跺す鍐�
- /// </summary>
- /// <param name="fulldirectory">鏂囦欢澶瑰叏璺緞</param>
- /// <param name="deleteDirectory">澶勭悊瀹屼箣鍚庯紝鏄惁鎶婃枃浠跺す鍒犻櫎</param>
- public void MoveDirectoryFileToHomeDirectory(string fulldirectory, bool deleteDirectory = false)
- {
- if (System.IO.Directory.Exists(fulldirectory) == false)
- {
- return;
- }
-
- var files = System.IO.Directory.GetFiles(fulldirectory);
- var listFile = new List<string>();
- foreach (var file in files)
- {
- var f = file.Substring(fulldirectory.Length + 1);
- listFile.Add(f);
- }
-
- var rootPath = Common.Config.Instance.FullPath;
- foreach (var file in listFile)
- {
- string oldFile = System.IO.Path.Combine(fulldirectory, file);
- string newFile = System.IO.Path.Combine(rootPath, file);
- //绉诲姩鏂囦欢
- this.MoveFileToDirectory(oldFile, newFile);
- }
- if (deleteDirectory == true)
- {
- //鍒犻櫎鏂囦欢澶�
- this.DeleteDirectory(fulldirectory);
- }
- }
-
- /// <summary>
- /// 灏嗘寚瀹氭枃浠跺す閲岄潰鐨勫叏閮ㄦ枃浠跺鍒跺埌鎸囧畾鐨勬枃浠跺す鍐�
- /// </summary>
- /// <param name="fullDirectory">澶嶅埗鍘熸枃浠跺す鍏ㄨ矾寰�</param>
- /// <param name="targetDirectory">鐩爣鏂囦欢澶瑰叏璺緞</param>
- public void CopyDirectoryFileToDirectory(string fullDirectory, string targetDirectory)
- {
- if (System.IO.Directory.Exists(targetDirectory) == false)
- {
- //鍒涘缓鐩爣鏂囦欢澶�
- this.CreateDirectory(targetDirectory, false);
- }
-
- var listFile = this.GetFileFromDirectory(fullDirectory);
- foreach (var file in listFile)
- {
- string oldFile = System.IO.Path.Combine(fullDirectory, file);
- string newFile = System.IO.Path.Combine(targetDirectory, file);
- //澶嶅埗鏂囦欢
- this.CopyFile(oldFile, newFile);
- }
- }
-
- #endregion
-
- #region 鈻� 鏂囦欢鎿嶄綔鍑芥暟_______________________
-
- /// <summary>
- /// 鍒犻櫎鏂囦欢
- /// </summary>
- /// <param name="fullName">鏂囦欢鍏ㄥ悕</param>
- /// <returns></returns>
- public bool DeleteFile(string fullName)
- {
- if (System.IO.File.Exists(fullName) == true)
- {
- try
- {
- System.IO.File.Delete(fullName);
- return true;
- }
- catch { return false; }
- }
- return true;
- }
-
- /// <summary>
- /// 绉诲姩鏂囦欢
- /// </summary>
- /// <param name="oldFile">鍘熸枃浠�</param>
- /// <param name="newFile">鐩爣鏂囦欢</param>
- public void MoveFileToDirectory(string oldFile, string newFile)
- {
- if (System.IO.File.Exists(oldFile) == true)
- {
- //濡傛灉鐩爣鏂囦欢瀛樺湪,鍒欏垏鎹负澶嶅埗鏂囦欢
- if (System.IO.File.Exists(newFile) == true)
- {
- this.CopyFile(oldFile, newFile);
- }
- try
- {
- System.IO.File.Move(oldFile, newFile);
- }
- catch (Exception ex)
- {
- HdlLogLogic.Current.WriteLog(ex, "绉诲姩澶辫触,鍘熸枃浠�:" + oldFile + "\r\n鐩爣鏂囦欢:" + newFile);
- }
- }
- }
-
- /// <summary>
- /// 绉诲姩鏂囦欢
- /// </summary>
- /// <param name="oldFile">鍘熸枃浠�</param>
- /// <param name="newFile">鐩爣鏂囦欢</param>
- public void CopyFile(string oldFile, string newFile)
- {
- if (System.IO.File.Exists(oldFile) == true)
- {
- try
- {
- System.IO.File.Copy(oldFile, newFile, true);
- }
- catch (Exception ex)
- {
- HdlLogLogic.Current.WriteLog(ex, "澶嶅埗澶辫触,鍘熸枃浠�:" + oldFile + "\r\n鐩爣鏂囦欢:" + newFile);
- }
- }
- }
-
-
- #endregion
-
- #region 鈻� 鍒犻櫎鏈湴鏂囦欢_______________________
-
- /// <summary>
- /// 鍒犻櫎鏈湴鎵�鏈夋枃浠�
- /// </summary>
- /// <param name="all">true:鍏ㄩ儴鍒犻櫎(鐢ㄤ簬浣忓畢鍒犻櫎) false:閲嶈鐨勬枃浠朵笉鍒犻櫎</param>
- public void DeleteAllLocationFile(bool all = true)
- {
- string dPath = Common.Config.Instance.FullPath;
- if (System.IO.Directory.Exists(dPath) == false)
- {
- return;
- }
-
- //鐒跺悗鑾峰彇鍏ㄩ儴鐨勬枃浠�
- List<string> listFile = this.GetFileFromDirectory(dPath);
- foreach (string file in listFile)
- {
- if (all == false && IsNotDeleteFile(file) == true)
- {
- //杩欐槸涓嶈兘鍒犻櫎鐨勬枃浠�
- continue;
- }
- //鍒犻櫎鏂囦欢
- this.DeleteFile(System.IO.Path.Combine(dPath, file));
- }
- //濡傛灉鏄妸鏂囦欢鍏ㄩ儴鍒犻櫎鐨勮瘽锛岄偅涔堟枃浠跺す涔熶竴璧峰垹闄ゆ帀
- if (all == true)
- {
- //鍒犻櫎鏂囦欢澶�
- System.IO.Directory.Delete(dPath, true);
- }
- }
-
- /// <summary>
- /// 鍒ゆ柇鏄笉鏄笉搴旇鍒犻櫎鐨勬枃浠�
- /// </summary>
- /// <param name="fileName"></param>
- /// <returns></returns>
- private bool IsNotDeleteFile(string fileName)
- {
- if (fileName == "Config.json")
- {
- //涓嶈兘鍒犻櫎Config鏂囦欢
- return true;
- }
- else if (fileName.StartsWith("House_") == true)
- {
- //涓嶈兘鍒犻櫎浣忓畢鏂囦欢
- return true;
- }
- return false;
- }
-
- #endregion
- }
-}
+锘縰sing Newtonsoft.Json;
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Shared.Phone.UserCenter
+{
+ /// <summary>
+ /// 鏂囦欢鎿嶄綔鐨勯�昏緫
+ /// </summary>
+ public class HdlFileLogic
+ {
+ #region 鈻� 鍙橀噺澹版槑___________________________
+
+ /// <summary>
+ /// 鏂囦欢鎿嶄綔鐨勯�昏緫
+ /// </summary>
+ private static HdlFileLogic m_Current = null;
+ /// <summary>
+ /// 鏂囦欢鎿嶄綔鐨勯�昏緫
+ /// </summary>
+ public static HdlFileLogic Current
+ {
+ get
+ {
+ if (m_Current == null)
+ {
+ m_Current = new HdlFileLogic();
+ }
+ return m_Current;
+ }
+ }
+ #endregion
+
+ #region 鈻� 棰勫垱寤轰釜浜轰腑蹇冨叏閮ㄧ殑鏂囦欢澶筥________
+
+ /// <summary>
+ /// 棰勫垱寤轰釜浜轰腑蹇冨叏閮ㄧ殑鏂囦欢澶�
+ /// </summary>
+ public void CreatAllUserCenterDirectory()
+ {
+ //鏈湴缂撳瓨鐨勬牴鐩綍
+ this.CreateDirectory(DirNameResourse.LocalMemoryDirectory);
+
+ //鑷姩澶囦唤銆愭枃浠跺す銆�(缂栬緫,杩藉姞)
+ this.CreateDirectory(DirNameResourse.AutoBackupDirectory);
+
+ //鑷姩澶囦唤銆愭枃浠跺す銆�(鍒犻櫎)
+ this.CreateDirectory(DirNameResourse.AutoBackupdeleteDirectory);
+
+ //涓嬭浇澶囦唤鐨勬椂鍊欐墍浣跨敤鐨勪复鏃躲�愭枃浠跺す銆�
+ this.CreateDirectory(DirNameResourse.DownLoadBackupTempDirectory);
+
+ //淇濆瓨瀹夐槻璁板綍鐨勩�愭枃浠跺す銆�
+ this.CreateDirectory(DirNameResourse.SafeguardAlarmDirectory);
+
+ //涓嬭浇鍒嗕韩鏂囦欢鐨勪复鏃躲�愭枃浠跺す銆�
+ this.CreateDirectory(DirNameResourse.DownLoadShardDirectory);
+
+ //LOG鍑哄姏銆愭枃浠跺す銆�
+ this.CreateDirectory(DirNameResourse.LogDirectory);
+
+ //妯℃澘缂撳瓨瀛樻斁鐨勩�愭枃浠跺す銆�
+ this.CreateDirectory(DirNameResourse.LocalTemplateDirectory);
+ this.CreateDirectory(DirNameResourse.AllResidenceTemplateDirectory);
+
+ //鐢ㄦ埛鍥剧墖鐩綍璺緞銆愭枃浠跺す銆�
+ if (UserCenterResourse.AccountOption.UserPictruePath != string.Empty)
+ {
+ this.CreateDirectory(UserCenterResourse.AccountOption.UserPictruePath);
+ }
+ }
+
+ #endregion
+
+ #region 鈻� 鏂囦欢淇濆瓨鍜岃鍙朹____________________
+
+ /// <summary>
+ /// 鏂囦欢淇濆瓨(鏁村ぉ蹇樿,鎵�浠ュ缓涓�涓嚱鏁版潵鐜╃帺)
+ /// </summary>
+ /// <param name="fullName">鍏ㄨ矾寰�</param>
+ /// <param name="obj">闇�瑕佸簭鍒楀寲鐨勪笢瑗�</param>
+ public void SaveFileContent(string fullName, object obj)
+ {
+ var data = JsonConvert.SerializeObject(obj);
+ this.SaveTextToFile(fullName, data);
+ }
+
+ /// <summary>
+ /// 鏂囦欢淇濆瓨(鏁村ぉ蹇樿,鎵�浠ュ缓涓�涓嚱鏁版潵鐜╃帺)
+ /// </summary>
+ /// <param name="fullName">鍏ㄨ矾寰�</param>
+ /// <param name="textValue">鏂囨湰</param>
+ public void SaveTextToFile(string fullName, string textValue)
+ {
+ var byteData = Encoding.UTF8.GetBytes(textValue);
+ this.SaveByteToFile(fullName, byteData);
+ }
+
+ /// <summary>
+ /// 鏂囦欢淇濆瓨(鏁村ぉ蹇樿,鎵�浠ュ缓涓�涓嚱鏁版潵鐜╃帺)
+ /// </summary>
+ /// <param name="fullName">鍏ㄨ矾寰�</param>
+ /// <param name="byteData">byte鏁版嵁</param>
+ public void SaveByteToFile(string fullName, byte[] byteData)
+ {
+ if (byteData == null) { return; }
+ //鍐欏叆鍐呭
+ System.IO.FileStream fileStream = null;
+ try
+ {
+ fileStream = new System.IO.FileStream(fullName, System.IO.FileMode.Create, System.IO.FileAccess.Write);
+ fileStream.Write(byteData, 0, byteData.Length);
+ fileStream.Flush();
+ }
+ catch { }
+ finally
+ {
+ fileStream?.Close();
+ }
+ }
+
+ /// <summary>
+ /// 璇诲彇鏂囦欢,涓嶉檺鍒朵綇瀹�(鏂囦欢涓嶅瓨鍦ㄨ繑鍥瀗ull,鏁村ぉ蹇樿,鎵�浠ュ缓涓�涓嚱鏁版潵鐜╃帺)
+ /// </summary>
+ /// <param name="fullName">鍏ㄨ矾寰�</param>
+ /// <returns></returns>
+ public string ReadFileTextContent(string fullName)
+ {
+ //璇诲彇鏂囦欢
+ var varByte = this.ReadFileByteContent(fullName);
+ if (varByte == null)
+ {
+ return null;
+ }
+ return Encoding.UTF8.GetString(varByte);
+ }
+
+ /// <summary>
+ /// 璇诲彇鏂囦欢,涓嶉檺鍒朵綇瀹�,鏂囦欢涓嶅瓨鍦ㄨ繑鍥瀗ull
+ /// </summary>
+ /// <param name="fullName">鍏ㄨ矾寰�</param>
+ /// <returns></returns>
+ public byte[] ReadFileByteContent(string fullName)
+ {
+ if (System.IO.File.Exists(fullName) == false)
+ {
+ return null;
+ }
+ System.IO.FileStream fileStream = null;
+ try
+ {
+ fileStream = new System.IO.FileStream(fullName, System.IO.FileMode.Open, System.IO.FileAccess.Read);
+ byte[] array = new byte[fileStream.Length];
+ fileStream.Read(array, 0, array.Length);
+ return array;
+ }
+ catch
+ {
+ return null;
+ }
+ finally
+ {
+ fileStream?.Close();
+ }
+ }
+
+ #endregion
+
+ #region 鈻� 鏂囦欢澶规搷浣滃嚱鏁癬____________________
+
+ /// <summary>
+ /// 鍒涘缓涓�涓枃浠跺す
+ /// </summary>
+ /// <param name="fullDirectory">闇�瑕佸垱寤虹殑鏂囦欢澶瑰叏璺緞</param>
+ /// <param name="clear">濡傛灉鏂囦欢澶瑰瓨鍦紝鏄惁闇�瑕佹竻绌烘枃浠跺す</param>
+ public void CreateDirectory(string fullDirectory, bool clear = false)
+ {
+ if (System.IO.Directory.Exists(fullDirectory) == false)
+ {
+ try
+ {
+ System.IO.Directory.CreateDirectory(fullDirectory);
+ }
+ catch (Exception ex)
+ {
+ HdlLogLogic.Current.WriteLog(ex, "鍒涘缓鏂囦欢澶瑰け璐�:" + fullDirectory);
+ }
+ }
+ else if (clear == true)
+ {
+ //濡傛灉瀛樺湪锛屽垯娓呯┖鍏ㄩ儴鏂囦欢
+ var files = System.IO.Directory.GetFiles(fullDirectory);
+ foreach (var file in files)
+ {
+ this.DeleteFile(file);
+ }
+ }
+ }
+
+ /// <summary>
+ /// 鍒犻櫎鏂囦欢澶�
+ /// </summary>
+ /// <param name="fullDirectory">鏂囦欢澶瑰叏璺緞</param>
+ public void DeleteDirectory(string fullDirectory)
+ {
+ if (System.IO.Directory.Exists(fullDirectory) == true)
+ {
+ try { System.IO.Directory.Delete(fullDirectory, true); }
+ catch (Exception ex)
+ {
+ HdlLogLogic.Current.WriteLog(ex, "鍒犻櫎鏂囦欢澶瑰け璐�:" + fullDirectory);
+ }
+ }
+ }
+
+ /// <summary>
+ /// 鑾峰彇鎸囧畾鏂囦欢澶归噷闈㈢殑鍏ㄩ儴鏂囦欢
+ /// </summary>
+ /// <param name="directory">鏂囦欢璺緞锛堝叏鍚嶏級</param>
+ /// <param name="onlyFileName">鍗曠函鍙槸鑾峰彇鏂囦欢鍚嶅瓧,濡傛灉涓篺alse鏃�,灏嗚繑鍥炴枃浠剁殑鍏ㄨ矾寰�</param>
+ /// <returns></returns>
+ public List<string> GetFileFromDirectory(string directory, bool onlyFileName = true)
+ {
+ if (System.IO.Directory.Exists(directory) == false)
+ {
+ return new List<string>();
+ }
+
+ var list = new List<string>();
+ try
+ {
+ //2020.07.10鐨勬椂鍊�,鍑虹幇杩囪幏鍙栧け璐ュ紓甯� 鎻愮ず:write fault on path
+ var files = System.IO.Directory.GetFiles(directory);
+ foreach (var file in files)
+ {
+ string fileName = file;
+ if (onlyFileName == true)
+ {
+ fileName = fileName.Substring(directory.Length + 1);
+ }
+ list.Add(fileName);
+ }
+ }
+ catch (Exception ex)
+ { HdlLogLogic.Current.WriteLog(ex); }
+
+ return list;
+ }
+
+ /// <summary>
+ /// 鑾峰彇鏍圭洰褰曠殑鍏ㄩ儴鏂囦欢鍒楄〃
+ /// </summary>
+ /// <returns></returns>
+ public List<string> GetRootPathListFile()
+ {
+ return this.GetFileFromDirectory(Common.Config.Instance.FullPath);
+ }
+
+ /// <summary>
+ /// 灏嗘寚瀹氭枃浠跺す閲岄潰鐨勫叏閮ㄦ枃浠剁Щ鍔ㄥ埌褰撳墠浣忓畢鐨勬枃浠跺す鍐�
+ /// </summary>
+ /// <param name="fulldirectory">鏂囦欢澶瑰叏璺緞</param>
+ /// <param name="deleteDirectory">澶勭悊瀹屼箣鍚庯紝鏄惁鎶婃枃浠跺す鍒犻櫎</param>
+ public void MoveDirectoryFileToHomeDirectory(string fulldirectory, bool deleteDirectory = false)
+ {
+ if (System.IO.Directory.Exists(fulldirectory) == false)
+ {
+ return;
+ }
+
+ var files = System.IO.Directory.GetFiles(fulldirectory);
+ var listFile = new List<string>();
+ foreach (var file in files)
+ {
+ var f = file.Substring(fulldirectory.Length + 1);
+ listFile.Add(f);
+ }
+
+ var rootPath = Common.Config.Instance.FullPath;
+ foreach (var file in listFile)
+ {
+ if (file.StartsWith("ModelData_") == true)
+ {
+ //澶嶅埗妯℃澘鏁版嵁鏂囦欢鍒版寚瀹氭枃浠跺す
+ TemplateData.TemplateCommonLogic.Current.CopyTemplateFileToLocalDirectory2(System.IO.Path.Combine(fulldirectory, file));
+ continue;
+ }
+ string oldFile = System.IO.Path.Combine(fulldirectory, file);
+ string newFile = System.IO.Path.Combine(rootPath, file);
+ //绉诲姩鏂囦欢
+ this.MoveFileToDirectory(oldFile, newFile);
+ }
+ if (deleteDirectory == true)
+ {
+ //鍒犻櫎鏂囦欢澶�
+ this.DeleteDirectory(fulldirectory);
+ }
+ }
+
+ /// <summary>
+ /// 灏嗘寚瀹氭枃浠跺す閲岄潰鐨勫叏閮ㄦ枃浠跺鍒跺埌鎸囧畾鐨勬枃浠跺す鍐�
+ /// </summary>
+ /// <param name="fullDirectory">澶嶅埗鍘熸枃浠跺す鍏ㄨ矾寰�</param>
+ /// <param name="targetDirectory">鐩爣鏂囦欢澶瑰叏璺緞</param>
+ public void CopyDirectoryFileToDirectory(string fullDirectory, string targetDirectory)
+ {
+ if (System.IO.Directory.Exists(targetDirectory) == false)
+ {
+ //鍒涘缓鐩爣鏂囦欢澶�
+ this.CreateDirectory(targetDirectory, false);
+ }
+
+ var listFile = this.GetFileFromDirectory(fullDirectory);
+ foreach (var file in listFile)
+ {
+ string oldFile = System.IO.Path.Combine(fullDirectory, file);
+ string newFile = System.IO.Path.Combine(targetDirectory, file);
+ //澶嶅埗鏂囦欢
+ this.CopyFile(oldFile, newFile);
+ }
+ }
+
+ #endregion
+
+ #region 鈻� 鏂囦欢鎿嶄綔鍑芥暟_______________________
+
+ /// <summary>
+ /// 鍒犻櫎鏂囦欢
+ /// </summary>
+ /// <param name="fullName">鏂囦欢鍏ㄥ悕</param>
+ /// <returns></returns>
+ public bool DeleteFile(string fullName)
+ {
+ if (System.IO.File.Exists(fullName) == true)
+ {
+ try
+ {
+ System.IO.File.Delete(fullName);
+ return true;
+ }
+ catch { return false; }
+ }
+ return true;
+ }
+
+ /// <summary>
+ /// 绉诲姩鏂囦欢
+ /// </summary>
+ /// <param name="oldFile">鍘熸枃浠�</param>
+ /// <param name="newFile">鐩爣鏂囦欢</param>
+ public void MoveFileToDirectory(string oldFile, string newFile)
+ {
+ if (System.IO.File.Exists(oldFile) == true)
+ {
+ //濡傛灉鐩爣鏂囦欢瀛樺湪,鍒欏垏鎹负澶嶅埗鏂囦欢
+ if (System.IO.File.Exists(newFile) == true)
+ {
+ this.CopyFile(oldFile, newFile);
+ }
+ try
+ {
+ System.IO.File.Move(oldFile, newFile);
+ }
+ catch (Exception ex)
+ {
+ HdlLogLogic.Current.WriteLog(ex, "绉诲姩澶辫触,鍘熸枃浠�:" + oldFile + "\r\n鐩爣鏂囦欢:" + newFile);
+ }
+ }
+ }
+
+ /// <summary>
+ /// 绉诲姩鏂囦欢
+ /// </summary>
+ /// <param name="oldFile">鍘熸枃浠�</param>
+ /// <param name="newFile">鐩爣鏂囦欢</param>
+ public void CopyFile(string oldFile, string newFile)
+ {
+ if (System.IO.File.Exists(oldFile) == true)
+ {
+ try
+ {
+ System.IO.File.Copy(oldFile, newFile, true);
+ }
+ catch (Exception ex)
+ {
+ HdlLogLogic.Current.WriteLog(ex, "澶嶅埗澶辫触,鍘熸枃浠�:" + oldFile + "\r\n鐩爣鏂囦欢:" + newFile);
+ }
+ }
+ }
+
+
+ #endregion
+
+ #region 鈻� 鍒犻櫎鏈湴鏂囦欢_______________________
+
+ /// <summary>
+ /// 鍒犻櫎鏈湴鎵�鏈夋枃浠�
+ /// </summary>
+ /// <param name="all">true:鍏ㄩ儴鍒犻櫎(鐢ㄤ簬浣忓畢鍒犻櫎) false:閲嶈鐨勬枃浠朵笉鍒犻櫎</param>
+ public void DeleteAllLocationFile(bool all = true)
+ {
+ string dPath = Common.Config.Instance.FullPath;
+ if (System.IO.Directory.Exists(dPath) == false)
+ {
+ return;
+ }
+
+ //鐒跺悗鑾峰彇鍏ㄩ儴鐨勬枃浠�
+ List<string> listFile = this.GetFileFromDirectory(dPath);
+ foreach (string file in listFile)
+ {
+ if (all == false && IsNotDeleteFile(file) == true)
+ {
+ //杩欐槸涓嶈兘鍒犻櫎鐨勬枃浠�
+ continue;
+ }
+ //鍒犻櫎鏂囦欢
+ this.DeleteFile(System.IO.Path.Combine(dPath, file));
+ }
+ //濡傛灉鏄妸鏂囦欢鍏ㄩ儴鍒犻櫎鐨勮瘽锛岄偅涔堟枃浠跺す涔熶竴璧峰垹闄ゆ帀
+ if (all == true)
+ {
+ //鍒犻櫎鏂囦欢澶�
+ System.IO.Directory.Delete(dPath, true);
+ }
+ }
+
+ /// <summary>
+ /// 鍒ゆ柇鏄笉鏄笉搴旇鍒犻櫎鐨勬枃浠�
+ /// </summary>
+ /// <param name="fileName"></param>
+ /// <returns></returns>
+ private bool IsNotDeleteFile(string fileName)
+ {
+ if (fileName == "Config.json")
+ {
+ //涓嶈兘鍒犻櫎Config鏂囦欢
+ return true;
+ }
+ else if (fileName.StartsWith("House_") == true)
+ {
+ //涓嶈兘鍒犻櫎浣忓畢鏂囦欢
+ return true;
+ }
+ return false;
+ }
+
+ #endregion
+ }
+}
--
Gitblit v1.8.0