From 58eee793bd48a558c275cac04ec576b7e6666b26 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期四, 24 八月 2023 16:09:02 +0800 Subject: [PATCH] 修改获取文件大小的方法 --- DataLoader/Model/ViewData.cs | 4 +- DataLoader/CS/Importor.cs | 58 ++++++++++++++++++----------- DataLoader/MainWindow.xaml | 2 DataLoader/CS/Tools.cs | 20 +++++++--- DataLoader/CS/StaticData.cs | 2 + 5 files changed, 55 insertions(+), 31 deletions(-) diff --git a/DataLoader/CS/Importor.cs b/DataLoader/CS/Importor.cs index 0b399c1..c41ffed 100644 --- a/DataLoader/CS/Importor.cs +++ b/DataLoader/CS/Importor.cs @@ -91,13 +91,15 @@ /// </summary> private static void SetSysMeta(ViewData vd) { + long sizes = GetFileSizes(vd); + SysMeta meta = new SysMeta(); meta.eventid = Guid.NewGuid().ToString(); meta.metaid = 0; meta.verid = 0; meta.guid = null; meta.path = vd.FilePath; // * - meta.sizes = GetFileSizes(vd); + meta.sizes = Tools.SizeToMb(sizes); meta.tab = null; meta.rows = 0; meta.create_user = CommonProp.UserId; @@ -112,25 +114,35 @@ meta.acq_time = CommonProp.AcqTime; vd.Meta = meta; - vd.Sizes = meta.sizes; + vd.Sizes = Tools.FormatBytes(sizes); } /// <summary> /// 鑾峰彇鏂囦欢澶у皬 /// </summary> - private static double GetFileSizes(ViewData vd) + private static long GetFileSizes(ViewData vd) { if (File.Exists(vd.FilePath)) { - if (vd.Ext == StaticData.SHP) + switch (vd.Ext) { - List<string> files = GetShpFiles(vd.FilePath); - return GetFileSizes(files.ToArray()); - } - else - { - FileInfo fi = new FileInfo(vd.FilePath); - return Tools.SizeToMb(fi.Length); + case StaticData.MPT: + return GetFileSizes(GetExtFiles(vd, StaticData.MPT_EXT)); + case StaticData.JPG: + return GetFileSizes(GetExtFiles(vd, StaticData.JPG_EXT)); + case StaticData.JP2: + return GetFileSizes(GetExtFiles(vd, StaticData.JP2_EXT)); + case StaticData.IMG: + return GetFileSizes(GetExtFiles(vd, StaticData.IMG_EXT)); + case StaticData.TIF: + return GetFileSizes(GetExtFiles(vd, StaticData.TIF_EXT)); + case StaticData.TIFF: + return GetFileSizes(GetExtFiles(vd, StaticData.TIFF_EXT)); + case StaticData.SHP: + return GetFileSizes(GetExtFiles(vd, StaticData.SHP_EXT)); + default: + FileInfo fi = new FileInfo(vd.FilePath); + return fi.Length; } } @@ -146,15 +158,15 @@ /// <summary> /// 鑾峰彇鏂囦欢澶у皬 /// </summary> - private static double GetFileSizes(string[] files) + private static long GetFileSizes(string[] files) { if (null == files || files.Length == 0) return 0; - double sizes = 0; + long sizes = 0; foreach (string file in files) { FileInfo fi = new FileInfo(file); - sizes += Tools.SizeToMb(fi.Length); + sizes += fi.Length; } return sizes; @@ -163,21 +175,21 @@ /// <summary> /// 鑾峰彇SHP鏂囦欢闆嗗悎 /// </summary> - private static List<string> GetShpFiles(string shpPath) + private static string[] GetExtFiles(ViewData vd, List<string> exts) { List<string> files = new List<string>(); - files.Add(shpPath); + files.Add(vd.FilePath); - foreach (string ext in StaticData.SHP_EXT) + foreach (string ext in exts) { - string file = shpPath.Replace(".shp", ext); + string file = vd.FilePath.Replace(vd.Ext, ext); if (File.Exists(file)) { files.Add(file); } } - return files; + return files.ToArray(); } /// <summary> @@ -277,8 +289,7 @@ { if (vd.Ext == StaticData.SHP) { - List<string> files = GetShpFiles(vd.FilePath); - return GetFilesMD5(files.ToArray()); + return GetFilesMD5(GetExtFiles(vd, StaticData.SHP_EXT)); } else { @@ -342,6 +353,9 @@ case StaticData.JPG: copyMultiFile(vd, StaticData.JPG_EXT); break; + case StaticData.JP2: + copyMultiFile(vd, StaticData.JP2_EXT); + break; case StaticData.IMG: copyMultiFile(vd, StaticData.IMG_EXT); break; @@ -383,7 +397,7 @@ { try { - string target=source.Replace(vd.FilePath, targetFolder); + string target = source.Replace(vd.FilePath, targetFolder); count++; } catch (Exception ex) diff --git a/DataLoader/CS/StaticData.cs b/DataLoader/CS/StaticData.cs index f03709d..8a141ea 100644 --- a/DataLoader/CS/StaticData.cs +++ b/DataLoader/CS/StaticData.cs @@ -26,6 +26,8 @@ public const String JPG = ".jpg"; + public const String JP2 = ".jp2"; + public const String IMG = ".img"; public const String MPT = ".mpt"; diff --git a/DataLoader/CS/Tools.cs b/DataLoader/CS/Tools.cs index 365e538..5017513 100644 --- a/DataLoader/CS/Tools.cs +++ b/DataLoader/CS/Tools.cs @@ -9,8 +9,6 @@ using System.Net.Sockets; using System.Net; using System.Reflection; -using System.Text; -using System.Threading.Tasks; namespace DataLoader.CS { @@ -47,7 +45,7 @@ /// </summary> public static string FormatBytes(long bytes) { - string[] Suffix = { "Byte", "KB", "MB", "GB", "TB" }; + string[] Suffix = { "B", "KB", "MB", "GB", "TB" }; // Byte int i = 0; double dblSByte = bytes; @@ -55,7 +53,7 @@ for (i = 0; (bytes / 1024) > 0; i++, bytes /= 1024) dblSByte = bytes / 1024.0; - return String.Format("{0:0.##}{1}", dblSByte, Suffix[i]); + return string.Format("{0:0.##} {1}", dblSByte, Suffix[i]); } /// <summary> @@ -68,9 +66,19 @@ return 0.001; } - String str = string.Format("{0:F3}", size / 1024.0 / 1024.0); + string str = string.Format("{0:F3}", size / 1024.0 / 1024.0); - return Double.Parse(str); + return double.Parse(str); + } + + /// <summary> + /// 淇濈暀3浣嶅皬鏁� + /// </summary> + public static double Round3(double val) + { + string str = string.Format("{0:F3}", val); + + return double.Parse(str); } /// <summary> diff --git a/DataLoader/MainWindow.xaml b/DataLoader/MainWindow.xaml index fc60e23..061b94d 100644 --- a/DataLoader/MainWindow.xaml +++ b/DataLoader/MainWindow.xaml @@ -212,7 +212,7 @@ </GridViewColumn.CellTemplate> </GridViewColumn> <GridViewColumn Header="璺緞" Width="Auto" DisplayMemberBinding="{Binding Path=FilePath, Mode=OneWay}"/> - <GridViewColumn Header="澶у皬(MB)" Width="Auto" DisplayMemberBinding="{Binding Path=Sizes, Mode=OneWay}"/> + <GridViewColumn Header="鏂囦欢澶у皬" Width="Auto" DisplayMemberBinding="{Binding Path=Sizes, Mode=OneWay}"/> <GridViewColumn Header="杩愯鐘舵��" Width="120" DisplayMemberBinding="{Binding Path=Status, Mode=OneWay}"/> </GridView.Columns> </GridView> diff --git a/DataLoader/Model/ViewData.cs b/DataLoader/Model/ViewData.cs index 5d6e7a5..b14f485 100644 --- a/DataLoader/Model/ViewData.cs +++ b/DataLoader/Model/ViewData.cs @@ -53,9 +53,9 @@ } } - private double _sizes; + private string _sizes; - public double Sizes + public string Sizes { set { -- Gitblit v1.9.3