Browse Source

创建新的文件搜索,添加浏览器选择器

yuzhengyang 7 years ago
parent
commit
92e5073bcb

BIN
Azylee.Utils/.vs/Azylee.Utils/v15/Server/sqlite3/storage.ide


+ 3 - 0
Azylee.Utils/Azylee.Core/Azylee.Core.csproj

@@ -78,11 +78,13 @@
     <Compile Include="DrawingUtils\ColorUtils\ColorStyle.cs" />
     <Compile Include="DrawingUtils\ColorUtils\ColorStyle.cs" />
     <Compile Include="FormUtils\FormManTool.cs" />
     <Compile Include="FormUtils\FormManTool.cs" />
     <Compile Include="IOUtils\BinaryUtils\BinaryFileTool.cs" />
     <Compile Include="IOUtils\BinaryUtils\BinaryFileTool.cs" />
+    <Compile Include="IOUtils\DirUtils\DirFinder.cs" />
     <Compile Include="IOUtils\FileManUtils\FileWatcher.cs" />
     <Compile Include="IOUtils\FileManUtils\FileWatcher.cs" />
     <Compile Include="IOUtils\FileManUtils\FileWatcherEventArgs.cs" />
     <Compile Include="IOUtils\FileManUtils\FileWatcherEventArgs.cs" />
     <Compile Include="IOUtils\FileUtils\FileCodeTool.cs" />
     <Compile Include="IOUtils\FileUtils\FileCodeTool.cs" />
     <Compile Include="IOUtils\FileUtils\FileCompressTool.cs" />
     <Compile Include="IOUtils\FileUtils\FileCompressTool.cs" />
     <Compile Include="IOUtils\FileUtils\FileEncryptTool.cs" />
     <Compile Include="IOUtils\FileUtils\FileEncryptTool.cs" />
+    <Compile Include="IOUtils\FileUtils\FileFinder.cs" />
     <Compile Include="IOUtils\FileUtils\FilePackageModel.cs" />
     <Compile Include="IOUtils\FileUtils\FilePackageModel.cs" />
     <Compile Include="IOUtils\FileUtils\FilePackageTool.cs" />
     <Compile Include="IOUtils\FileUtils\FilePackageTool.cs" />
     <Compile Include="IOUtils\FileUtils\FileTool.cs" />
     <Compile Include="IOUtils\FileUtils\FileTool.cs" />
@@ -143,6 +145,7 @@
     <Compile Include="WindowsUtils\APIUtils\SystemSleepAPI.cs" />
     <Compile Include="WindowsUtils\APIUtils\SystemSleepAPI.cs" />
     <Compile Include="WindowsUtils\APIUtils\WindowsAPI.cs" />
     <Compile Include="WindowsUtils\APIUtils\WindowsAPI.cs" />
     <Compile Include="WindowsUtils\APIUtils\WindowsHotKeyAPI.cs" />
     <Compile Include="WindowsUtils\APIUtils\WindowsHotKeyAPI.cs" />
+    <Compile Include="WindowsUtils\BrowserUtils\BrowserSelector.cs" />
     <Compile Include="WindowsUtils\ClipboardUtils\ClipboardTool.cs" />
     <Compile Include="WindowsUtils\ClipboardUtils\ClipboardTool.cs" />
     <Compile Include="WindowsUtils\CMDUtils\CMDNetstatTool.cs" />
     <Compile Include="WindowsUtils\CMDUtils\CMDNetstatTool.cs" />
     <Compile Include="WindowsUtils\CMDUtils\CMDProcessTool.cs" />
     <Compile Include="WindowsUtils\CMDUtils\CMDProcessTool.cs" />

+ 3 - 0
Azylee.Utils/Azylee.Core/DataUtils/CollectionUtils/Ls.cs

@@ -11,6 +11,9 @@ using System.Text;
 
 
 namespace Azylee.Core.DataUtils.CollectionUtils
 namespace Azylee.Core.DataUtils.CollectionUtils
 {
 {
+    /// <summary>
+    /// ListTool
+    /// </summary>
     public static class Ls
     public static class Ls
     {
     {
         /// <summary>
         /// <summary>

+ 45 - 0
Azylee.Utils/Azylee.Core/IOUtils/DirUtils/DirFinder.cs

@@ -0,0 +1,45 @@
+using Azylee.Core.DataUtils.CollectionUtils;
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Text;
+
+namespace Azylee.Core.IOUtils.DirUtils
+{
+    public class DirFinder
+    {
+        /// <summary>
+        /// 获取目录下的目录(一层)
+        /// </summary>
+        /// <param name="path"></param>
+        /// <returns></returns>
+        public static List<string> GetPath(string path)
+        {
+            if (Directory.Exists(path))
+                try { return Directory.EnumerateDirectories(path).ToList(); } catch (Exception e) { }
+            return null;
+        }
+        /// <summary>
+        /// 获取目录下所有目录(递归)
+        /// </summary>
+        /// <param name="path"></param>
+        /// <returns></returns>
+        public static List<string> GetAllPath(string path)
+        {
+            List<string> result = GetPath(path);
+            if (Ls.Ok(result))
+            {
+                List<string> temp = new List<string>();
+                foreach (var item in result)
+                {
+                    List<string> t = GetAllPath(item);
+                    if (Ls.Ok(t)) temp.AddRange(t);
+                }
+                result.AddRange(temp);
+                return result;
+            }
+            return null;
+        }
+    }
+}

+ 65 - 0
Azylee.Utils/Azylee.Core/IOUtils/FileUtils/FileFinder.cs

@@ -0,0 +1,65 @@
+using Azylee.Core.DataUtils.CollectionUtils;
+using Azylee.Core.IOUtils.DirUtils;
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Text;
+
+namespace Azylee.Core.IOUtils.FileUtils
+{
+    /// <summary>
+    /// 文件搜索
+    /// </summary>
+    public static class FileFinder
+    {
+        /// <summary>
+        /// 获取文件(单层目录)
+        /// </summary>
+        /// <param name="path">路径</param>
+        /// <param name="pattern">通配符</param>
+        /// <returns></returns>
+        public static List<string> GetFile(string path, string pattern = "*")
+        {
+            try
+            {
+                if (Directory.Exists(path))
+                {
+                    List<string> result = Directory.EnumerateFiles(path, pattern).ToList();
+                    return result;
+                }
+            }
+            catch (Exception e) { }
+            return null;
+        }
+        /// <summary>
+        /// 获取所有目录中的所有文件
+        /// </summary>
+        /// <param name="path"></param>
+        /// <param name="action"></param>
+        /// <param name="patterns"></param>
+        public static void GetAllFile(string path, Action<List<string>> action, string[] patterns = null)
+        {
+            List<string> allpath = DirFinder.GetAllPath(path);
+            if (allpath == null) allpath = new List<string>();
+            allpath.Add(path);
+
+            foreach (var p in allpath)
+            {
+                if (Ls.Ok(patterns))
+                {
+                    foreach (var pattern in patterns)
+                    {
+                        List<string> files = GetFile(p, pattern);
+                        if (Ls.Ok(files)) action?.Invoke(files);
+                    }
+                }
+                else
+                {
+                    List<string> files = GetFile(p);
+                    if (Ls.Ok(files)) action?.Invoke(files);
+                }
+            }
+        }
+    }
+}

+ 1 - 1
Azylee.Utils/Azylee.Core/IOUtils/FileUtils/FileTool.cs

@@ -80,7 +80,7 @@ namespace Azylee.Core.IOUtils.FileUtils
             return FileTool.GetAllFile(allpath, patterns);
             return FileTool.GetAllFile(allpath, patterns);
         }
         }
         /// <summary>
         /// <summary>
-        /// 获取文件(多个目录)(向下钻取所有目录)
+        /// 获取文件(多个目录)
         /// </summary>
         /// </summary>
         /// <param name="paths">路径(支持多个路径)</param>
         /// <param name="paths">路径(支持多个路径)</param>
         /// <param name="patterns">通配符(支持多个通配符)</param>
         /// <param name="patterns">通配符(支持多个通配符)</param>

+ 59 - 0
Azylee.Utils/Azylee.Core/WindowsUtils/BrowserUtils/BrowserSelector.cs

@@ -0,0 +1,59 @@
+using Azylee.Core.DataUtils.StringUtils;
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Text;
+
+namespace Azylee.Core.WindowsUtils.BrowserUtils
+{
+    /// <summary>
+    /// 浏览器选择器
+    /// </summary>
+    public class BrowserSelector
+    {
+        /// <summary>
+        /// 现代浏览器
+        /// </summary>
+        /// <param name="browser"></param>
+        /// <returns></returns>
+        public static bool ModernBrowser(out string browser)
+        {
+            browser = "";
+
+            string chrome = @"C:\Program Files\Google\Chrome\Application\chrome.exe";
+            string chrome_86 = @"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe";
+            string chrome_app = @"C:\Users\Administrator\AppData\Local\Google\Chrome\Application\chrome.exe";
+            string firefox = @"C:\Program Files\Mozilla Firefox\firefox.exe";
+            string firefox_86 = @"C:\Program Files (x86)\Mozilla Firefox\firefox.exe";
+
+            if (File.Exists(chrome)) browser = chrome;
+            else if (File.Exists(chrome_86)) browser = chrome_86;
+            else if (File.Exists(chrome_app)) browser = chrome_app;
+            else if (File.Exists(firefox)) browser = firefox;
+            else if (File.Exists(firefox_86)) browser = firefox_86;
+
+            if (Str.Ok(browser)) return true;
+            return false;
+        }
+
+        /// <summary>
+        /// 时期时代浏览器IE
+        /// </summary>
+        /// <param name="browser"></param>
+        /// <returns></returns>
+        public static bool StoneAgeIE(out string browser)
+        {
+            browser = "";
+
+            string ie = @"C:\Program Files\internet explorer\iexplore.exe";
+            string ie_86 = @"C:\Program Files (x86)\Internet Explorer\iexplore.exe";
+
+            if (File.Exists(ie)) browser = ie;
+            else if (File.Exists(ie_86)) browser = ie_86;
+
+            if (Str.Ok(browser)) return true;
+            return false;
+        }
+    }
+}