From aca7736f82883314e34301b8f53898f2112e21d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E7=A3=8A?= Date: Mon, 6 Sep 2021 20:25:32 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E4=BC=98=E5=8C=96?= =?UTF-8?q?=EF=BC=8C=E7=B4=A2=E5=BC=95=E6=9B=B4=E6=96=B0=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vs/TextLocator/v16/.suo | Bin 360448 -> 355328 bytes TextLocator/Core/AppCore.cs | 46 +++++++++++++++++++ TextLocator/Index/LuceneIndexCore.cs | 10 +++- TextLocator/MainWindow.xaml | 2 +- TextLocator/MainWindow.xaml.cs | 5 +- TextLocator/Service/PowerPointFileService.cs | 7 ++- TextLocator/TextLocator.csproj | 1 + TextLocator/Util/FileUtil.cs | 2 +- 8 files changed, 66 insertions(+), 7 deletions(-) create mode 100644 TextLocator/Core/AppCore.cs diff --git a/.vs/TextLocator/v16/.suo b/.vs/TextLocator/v16/.suo index 7ad29fa39e3143f141a24b0f9dae99ff35255bb1..3d5299513a19d32ca1dab3583a9a9377e001e9b7 100644 GIT binary patch delta 19442 zcmeHv31Cgv*8knZxiaU52r?&#AmNI{7|BhXg@Vwc6_Nl$L6>RUN4IsiL&B$bYSKZ?2g7+V6S)@4fH!#P9BX)>&tdYybAz z`<%mS4X}Pxw=A)7OM}565!b4!sxUAxL?WUmA{gO=2;Gw7$$iYd248OQ^bvMHN(^~w zk+F#VRlUfIS!=aW6ni&EX%lz4W-!!JnXFe#k`x4{TovF9>tI;d8NZ71UKkHVgdwO1 zUUUu1kcMFkgeRf|&x0^rh+%yU>ApVBkTS&6s=gRnoN+pDV=xpOVo(r)co=UaVHU=l zAsQp-yf=nsL@R`XP*HCg!i4c2h(*r(NH-GC7dy|X0QK;^1EMpcJE94qHNqF+hv;e; zVldo;k$VyS5UGg%2)el&hUo~ZaR!DB5Xp!^h%#p;127(iK$WUa7cx!22r1Ap3gcsHoR4$HCpbg(rMl7Tai!G9?3Z=v&K+rVbfo%Atx#7FQZG>tQhBR; zkm^C8qq+wv{(E|m^zM2Ok`>>L9(2QW{+)Z!eVf}_w2`d{b(KdItSH*(WLZ4z5q+YCD%<8Iz zzQrB~u#N0-_+zkLdzy2`;9QjKSaCtfT3PRTkQ`Wh*#Mr5lm4D|9L*ijZtp|ZC|=PN z-j9;?O_dKFj!emIUixMB)N#gN)iYrKS;WD%ma-ii16vYVPt|hHq&~jE2cBsyv$u8+ z=IW{-4_j2=QP!8tCmQpha4yz*K7!&QPFXyL35Z8fUW!P<_@hpp_82dB#;F1W5!ckd zWmDP9>YB2!rB*lZSMc&K#BRj94xztlUOF!2TjzbJogwAY1pI{4rN*Cel{rsw`~clvQ<*H@E!J>WY2hJroJKRx8Ip-CaK@LQ0R?$4t#M_g!#-t$Cu#_v#Q0N))re=+iDh*L zu5(^}&Ka)9@Oi`r#74vmh)oC^f-WNA*F;yoyM74aHkFXDB? z8;Ca%`w(v--bTEG*pH}A{9ujvp&IeS82=D)1o08#W5iL!Cx}lGpCL{moav~~m(^Wr z^&0w}Q}lNX&s@J;^#jJwBF;Ny7o6cGXINdF%Xt0^;#b5KgddKD>T491znbPnA-NzF zss|4@db%Kuv1V#vmtxk`cCm{$S9$0p7HlgF?ZdoiMkl(dR#q>BN2|f6EEmi6)YGHM zzgnf5c5Q_{ACcvuIQDLzloxdX-lrd1r)^^4PrY?`7TSy1v+BiR#m42>GnWUdMSFU96`_U+QC$yGL&*$V2t$JEY2t<-`BrSR%l zxy-g~^*B+UU%;Z(!u(>^M7{WSmGNi1B|TI9Q2zwJ#{`5{-|E%H)L$IPmkOPl4Gg|(pk zC`%eyy>0ggZZe*op0%xY>d~14qTUuioTB)YZfPCA{-Da9wN2&6ql&*@-@CFO@bn?; zTc-~GhPPUG+5L&1*0oNZ@Z;-yznwNbrs|p2siIGKtLHA7r=NSSb!ylb=ex|9yYSmC znAE7XNAArz@$=9Ac<-sNE8fvqJ@ZSOTBok7mGar489!hA5%pgW`SECvkjrJH^HNf8 zwNKfBw2m0>)3C!Ea=x#4(|^4hb-ah5W;!>YHDFAA=y*Nbq2n8vCoLx&Eogv^KuxQq8pp-@|(4I`PWO_yY|iZuZK(HPOzr~>#b&-2vDtG`>1XwDgPtdLOOAoB|StV>|*8iD-x*gKUh5LJ)^UW0V zLg)Du45uQdA!a&dq+eB4yQ=CT6j*Br*X^5&+*du~_swThVE-QWAgo=0?s)bOCU_>9 zwLwD*hhx*33F6C;c}bkKfQ^KGWh_wLcV?vHTINy~if1O4s9Ps&E@Sl--HOybXXiwI4FM_88(M<7>Y|oMCPit$7iwp32-{7XE09uCQkOPsX_o;}8qvl0mBJiV5aO<>Jc7NI3pF)n}$7H&Is`8b33J2Eq5oRc2f zG|t};u-cE;hq6Iv636PYNYmP8Xf7=n-yX+y33#^lKp#XHrtxQ>X z{7QKc^k2YJJ={x>d)ydvUkKrgc>rh&c)W-EQm3%oA@nTa-Vj%UNi1_D!IwLdWEBv; zfH#0SCHx);E9IU|2bwbR-dc|PDczMAb$^`BJzu*RO}4CiI>}H~!V@A;gOr{orDtwc zGTjGkA#V=Wh1{)LcLV8eyp8TaUAO5VyyVK?;Qk`1Z@-QD{knP_ZEm{MnfoqM-+deP z!A?D+U9U3Rqqi-TFXCa~U&;f-K;vFVyMDEZ+VxFJ1FNmc+eqy z>=9?XvJdFi26CYBkh5VAI~vwhiVeHCf_p`qhB*sBO-8wc7ybTuvRjVvzZ z31Qcjz9gluZdUpNmGlO6r1W=EI(?IpX%swK%9}TR5arb^KAWRH<(82>P^Pn zqJEXsuidE5;IqXyl+%b)k$WxtxuG(xmfTQIUs5vNq-4r-lr#U9jA_N@PD{3$X__WF z$~oy4b#fux$%m+^4zZ8&gl5;z;}2QwZpM-pJ5N=5 zrl71p9fu!;G0S*F)C0%fe0KJW6H&Z*{3qMTkG%(DSZF*hCA%4q+ol~GSK877TbA)Q zI)U&+2Idl^is0pF<#IW)aNp(p0bh6Wl(5?FgJ63Fj|Jc5+$-KR(|IekuEXRqF>&|) zltT?$H$7CH1=2Jn#qV=wm8Ivv2I@Itumt#!I_~6iQ3)T=)4_X_*G}SY6)Sj3ggg0K zbdCHiN1iovk|pr#3O)#iuHX-_g|K@C?_gxak|i+vG43B$j?sk(Iv7!&>x8J!p;Vh# z&Lt#r`G5u-+Of5=?TW56$o57q|HR%oqOLkG38i zhqTkv?(T442mf*VT>cGfup8;p!-Jj#x=*H`0{mgLr>jle%e{DjKSmwLSsLj2k#P!FDf_oBz@8&K8CLJ*qqXCU1)5Mx?gk(1;Nxy= z-4qW@q%*cR)h?)J;v}RT{?SD(f4->CD<%jp4==0$O`2)X>z1KCx|t^{?ldEv?%OWe z>DCrH+}a8MyjxrMx?77`=u-=Nq_8JnyskAm%bPQ;d^?X7endfzBiK&c0xh&9Z}9hd zMF~!S{~=Cr%pj~lwa>Vr(K({?+5id8J)X5IP0nepGmHTF1+ zrStEXKW=n^c5WMA%%Ezns0**Z#m8!WUg0ltE#)=dT_};L7NYHWi>C>tCB~B>`2e3v zvM@(&zF=_PpoJrF&bB2L$Dev*0<#9LtogTMoEIGar+Ln`i z3xo6uQCFMx0q?+D9l_Rd{|J9f+x{>3*&6!URsRh>v^4%>cQ#Vo*5OML|1&=--lN9SL36i@K(F%8C0x^l zo4eBfTEE5TM_DQzPX7MCiS8nxg`M0CS_{!409Tg!0qGx#^Qzry1^W>kWA@d!RQ11t zOI7 zk!{F_i45nscalVXJx^sgX+d8hLL8|?uCpc!4&_2b!!a&u!vG=bd)u*LXgxycL7DYH zx-b}W^(g5DLjPpZ92TVrFDOkBp|CCmi*ET|@QPFs00UA*Gq9vmYyKeYU`@rJMyVng zvU`hMu=f>~a;tTnH3MsEoo(IzKDB@qrK;6x4(f$PqzaA0hrpTmDERU~gMl7H*E2jv zo!J}8HjBn!9U_z(YyG#^bKK~wz5teWJdQncUH$s{fA;_}8D^AF_h6V+BKtL|E}vdE>j^eOT0)wli{HOA{Ay16gI7UwrI*==QNQB zEeDBhn)eXVhr_*PypC3)@zV_U+%LL8@6k5 zXE%sp*IR)FK-n8S<9a(>zvNwWhakbR4eUEbDC*)0Pj=He;GRJjYT#rj-6-ln)04ch zhCd6L_Qjk0Jr;1wZUXjB+Fx9)M{mVfVqWEs!>sK%q`RG{wp$NPe0JAa3ruH`1_#-y zGr@u23+d0|6M=Rbufy8HmM3u#zE{qDC2q>pI0dxo-8YjQD^*#;Vr}+2d>XrTrvo~@ z#_!d8f326OL4~YDO(`v2XIdzDd8YN>juRum`ab{a))@_wHj84~=vxea$s!gX+Y*8P zG1lxYEYz;}R0Nw@J1|EaVHFv|`rpi?fJ{0H9}I~sed~p7yv{co(rY+_gX_>_^$k`e z`AsgmP3PL4Jh7R<54(9?&3~S-3J-mohFGg+DmW`7^FPGLx1Edb5(_(aZtnuu;v19Z z0zM_CH`|WkhyH?no`=ApiCEv2yrfd}#o3O3>+P zaR7Ver%bumyW&w{)pvmZe=s$$UwJ+4;0E!!`z<8B-qkpbLH7!Fz9e3D%$bkxKp#ne zh>9^k2V;la-mk>X@Rs?LMr{93;L{V`y<9Bq>Z{9R)N!-@Rr?BD$;}%I$4?4>uMOBG zxsJDq4X#;XzPOR(&%!_(@8g)<{}>&!@xacD*$}@_F2QeCy2GIfG8i%z%0*!LOmBhofONkr;_y(PaIwIX4 zH9JGj&*CdEUlwyA?UFdnIDC;RpNE)4F#s=Tz!s2)*)00n<$m>(DUm440(MUJ0k0~2 zg>-OU07`lTOOj7OOcR+3+e&0F{Y@NrFiJLqwB~X?JLD)wbUT>{mgZ8jw_)i|NU>gp zGKtlO-O=)sY8`7E*$4vL%la&Y%IeC-q_vBYMGWjM881x?wp|v1|9EcG=dp@5@}=tUe%?t8h1Kn)k?nJ3trt7k zW1s6oqTiZgG@4>Km|M!ZfX!mTw~(-_o&`%fep?g>Db2Cw`HcJAnKMstKsxML(E;l} zMgJHHHYdmcSkX}iLgrMtL5*pf1?G;@2=W|u$+eEM1*}d)vza@?aY}ue1AFr1CMZpo zLqR6VPq7=YXC8yqJ*5{M=p^H@!h5cG_HpamzG6yUeher3v_hE0I9OD=q zF$I}0^DK^o!SH!c`B(O(qtUUlsmwKoR?<*gNj;GWXd`2wMLt&G*ch2B_ha8eD^*xD ze3Yo%c_zY3cO+}A)4lQ`FF2blSHLg3vA3N)kA-N19nz47QW#k2L$in-{7HSikUK=; z{^)`8IDNM0gM$hi&r3@kivOdI5l!4l-6KSw*n=E&+Ny}UD-W7?`11x1Y zSQF>q%a$)pCbLSyX2KzyN-dnKoju4WGxG2km(Lyp`BUUjmhbpT&T~v7*j0#k9GHUU zj@^|APvwXt?b2rP8oqrrU3PYALdJO^)kmj?qZOFZ3Us?h+F2QhWlV*>Q{~@a^#XB9 z_t7<*`21EM{ddzpTsn`-w$N$PLJd&>tBd5I95it>klpxOweI$Ch+R{gB za|C&amBN}tnFsl6crfPLA99Y$N0^VgC%UD!WxDuS--EcrTtzzvxY+(3bCq|^x$0m2 zIpm)cmp(uK3n#8%V%%AP)1K>l)H}{g)f3fkOf~`FGe(9hW2*;V&wp-0X@>8z%9(KG zWBH(CJ~~~Qh2y#{CjXO*cX1$mCVQ|Y$T9b88E285z%NEgfap<56m;#T_`n%IB>+sv zaXM-_T=9ZF`O1$K$K+373d4&TgB5QuMdQyW$K@&5^@D5(_Az++=}Ea6>|e`T+LYN>sz@5W~5;yJPgl4CShXAL=QsU~;^&5sn8U z5rj@b@|vY6pMa&S669d2wzY7$yAcI!>VU(&!RNA}R_3Fu;_y^M6zT*L-dkCz#rP>B z8M_C*@WVzz2K0vgW0dBQNX@maw(^P~(g-4!GeY24RIRIU@waj67upWVcmLu}TG-MpHyD_;|ds*)>)IVC6WaQs)T3 zBz$1a{YV)*dn@nI@HWGa33!Sm-Su`(sD@7HJVr#k88&os4m9oCNlKu&v8RnNE<{(V6;(ObQU5%eK9R18q4@kR;yZL!t1IM9W&OWg-Tw#M C?eTX2 delta 17148 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 GX8IrXrzal( diff --git a/TextLocator/Core/AppCore.cs b/TextLocator/Core/AppCore.cs new file mode 100644 index 0000000..ad88dfb --- /dev/null +++ b/TextLocator/Core/AppCore.cs @@ -0,0 +1,46 @@ +using log4net; +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace TextLocator.Core +{ + /// + /// AppCore + /// + public class AppCore + { + private static readonly ILog log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); + + #region App退出或重启 + /// + /// 退出应用 + /// + public static void ExitProcess() + { + log.Debug("退出当前应用程序进程"); + Environment.Exit(Environment.ExitCode); //Application.Current.Shutdown(-1); + } + + /// + /// 重启应用 + /// + public static void RestartProcess() + { + log.Debug("重启当前应用程序"); + + // 启动新进程 + System.Reflection.Assembly.GetEntryAssembly(); + String processPath = Directory.GetCurrentDirectory(); + String processName = Process.GetCurrentProcess().ProcessName; + Process.Start(processPath + "/" + processName); + + ExitProcess(); + } + #endregion + } +} diff --git a/TextLocator/Index/LuceneIndexCore.cs b/TextLocator/Index/LuceneIndexCore.cs index f7af428..9c905ec 100644 --- a/TextLocator/Index/LuceneIndexCore.cs +++ b/TextLocator/Index/LuceneIndexCore.cs @@ -37,11 +37,12 @@ namespace TextLocator.Index if (rebuild) { create = rebuild; - } + } // 索引写入初始化(FSDirectory表示索引存放在硬盘上,RAMDirectory表示放在内存上) Lucene.Net.Index.IndexWriter writer = new Lucene.Net.Index.IndexWriter(AppConst.INDEX_DIRECTORY, AppConst.INDEX_ANALYZER, create, Lucene.Net.Index.IndexWriter.MaxFieldLength.UNLIMITED); + // 文件总数 int count = filePaths.Count(); // 遍历读取文件,并创建索引 @@ -54,6 +55,13 @@ namespace TextLocator.Index { continue; } + if (!create && !string.IsNullOrEmpty(AppUtil.ReadIni("FileIndex", filePath, ""))) + { + continue; + } + + // 写入 + AppUtil.WriteIni("FileIndex", filePath, "1"); // 开始时间 DateTime beginMark = DateTime.Now; diff --git a/TextLocator/MainWindow.xaml b/TextLocator/MainWindow.xaml index 8647b26..6abff53 100644 --- a/TextLocator/MainWindow.xaml +++ b/TextLocator/MainWindow.xaml @@ -87,7 +87,7 @@ -