xm
2020-07-14 d87400af518ebc9274f4447f06476959c3aa5102
ZigbeeApp/Shared/Phone/ZigBee/Common/Global.cs
@@ -96,118 +96,6 @@
                System.IO.Directory.CreateDirectory(path);
            }
        }
        /// <summary>
        /// 在当前住宅文件夹下创建一个空的文件夹(tz)
        /// </summary>
        /// <param name="directoryName">需要创建的文件夹名字</param>
        /// <param name="clear">如果文件夹存在,是否需要清空文件夹</param>
        public static void CreateEmptyDirectory(string directoryName, bool clear = false)
        {
            string creatName = Config.Instance.FullPath;
            creatName = System.IO.Path.Combine(creatName, directoryName);
            if (!System.IO.Directory.Exists(creatName))
            {
                System.IO.Directory.CreateDirectory(creatName);
            }
            else if (clear == true)
            {
                //如果存在,则清空全部文件
                var files = System.IO.Directory.GetFiles(creatName);
                foreach (var file in files)
                {
                    System.IO.File.Delete(file);
                }
            }
        }
        /// <summary>
        /// 将信息写入指定的文件夹里(根目录为当前住宅的文件夹)(tz)
        /// </summary>
        /// <param name="directoryName">指定的文件夹路径</param>
        /// <param name="fileName">文件名</param>
        /// <param name="bytes">内容</param>
        public static void WriteFileToDirectoryByBytes(string directoryName, string fileName, byte[] bytes)
        {
            //先去创建它吧
            Global.CreateEmptyDirectory(directoryName);
            //拼接路径
            string fullName = Config.Instance.FullPath;
            fullName = System.IO.Path.Combine(fullName, directoryName);
            fullName = System.IO.Path.Combine(fullName, fileName);
            //写入内容
            Shared.IO.FileUtils.WriteFileByBytes(fullName, bytes);
        }
        /// <summary>
        /// 读取指定的文件夹里的指定的文件(根目录为当前住宅的文件夹)(tz)
        /// </summary>
        /// <param name="directoryName">指定的文件夹路径</param>
        /// <param name="fileName">文件名</param>
        public static byte[] ReadFileByDirectory(string directoryName, string fileName)
        {
            //拼接路径
            string fullName = Config.Instance.FullPath;
            fullName = System.IO.Path.Combine(fullName, directoryName);
            fullName = System.IO.Path.Combine(fullName, fileName);
            if (System.IO.File.Exists(fullName) == false)
            {
                return null;
            }
            return Shared.IO.FileUtils.ReadFile(fullName);
        }
        /// <summary>
        /// 移动文件(tz)
        /// </summary>
        /// <param name="oldFile">需要移动的文件(FullName)</param>
        /// <param name="newFile">要移动到的位置(FullName)</param>
        public static void MoveFileToDirectory(string oldFile, string newFile)
        {
            //先删除
            if (System.IO.File.Exists(newFile) == true)
            {
                System.IO.File.Delete(newFile);
            }
            System.IO.File.Move(oldFile, newFile);
        }
        /// <summary>
        /// 将指定文件夹里面的全部文件移动到当前住宅的文件夹内(tz)
        /// </summary>
        /// <param name="directory"></param>
        /// <param name="deleteDirectory">处理完之后,是否把文件夹删除</param>
        public static void MoveDirectoryFileToHomeDirectory(string directory, bool deleteDirectory = false)
        {
            string rootPath = Config.Instance.FullPath;
            string fulldirectory = System.IO.Path.Combine(rootPath, directory);
            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);
            }
            foreach (var file in listFile)
            {
                string oldFile = System.IO.Path.Combine(fulldirectory, file);
                string newFile = System.IO.Path.Combine(rootPath, file);
                //移动文件
                Global.MoveFileToDirectory(oldFile, newFile);
            }
            if (deleteDirectory == true)
            {
                System.IO.Directory.Delete(fulldirectory);
            }
        }
    }
}