From c4fd4cf235600a7a64a079dfc0d17ce015853896 Mon Sep 17 00:00:00 2001 From: "(no author)" <(no author)@71dcc7fd-b1f2-4e5d-bb8e-274146e81173> Date: Fri, 19 May 2023 19:44:56 +0000 Subject: [PATCH] git-svn-id: svn://home0/checkDataIntegrity@3053 71dcc7fd-b1f2-4e5d-bb8e-274146e81173 --- bin/checkDataIntegrity/Main.class | Bin 5988 -> 5889 bytes checkDataIntegrity.jar | Bin 11320 -> 11297 bytes src/checkDataIntegrity/Main.java | 38 +++++++++++++++++------------- 3 files changed, 21 insertions(+), 17 deletions(-) diff --git a/bin/checkDataIntegrity/Main.class b/bin/checkDataIntegrity/Main.class index 26d80314b503b216db51e654c566e678361dc3d1..404ccc9f615081d2c2852d4576b0e00c6b8120c0 100644 GIT binary patch delta 2287 zcmZuy33yc175>jG@6CI2UuMbrFouaDCI}fp5qv;ZOu+CV;8#jSmi8IPBsiIgnL$OX z;|g_Ot_xDF3#Fk|TO#cfL(tJNx~r02Z}aqGF(6NcB-&s<`kWha;B zJJQKqzB^@iCa2oD)Q>%KQXD=k5?G9%$_oRdLoKicPDQJHI?$}71WrerOaz}~euuyk zoFP9CCaYS|DUg9e2)3rPxs;ABbgMX1{z$3v=a854l`$1(v2<=WdqzUX2%IA@8p{aP z@^z(5u2b}3=Mj9JIUN&mzQ7br&@l}KfeUewd`=l*TtZM1r+1`NxezW}A5>e2R>(!6 z#=sqfD*17!O4o4`?h?2gtJm)cB`NS*f#1o!TJ8AX3k=5}2!Xm8_4C4LM$)x?zrcF@ zk*%gvnYMg8!CzP3>;|<(_UdNCHjZ?`R22`gXD^eP zj%?BmEjha@m6_d@@5pA{VE!WTFt*Dt^o4CZ@u-SN2&EpL;mw(@rTJpU1s=mLj*bg) z8mFjk!PNTZ5S}2!ti((&wnS$~uG7x9w(EEb&!~8s5dEfv$8~qx%W?wG;yJl3Y>xjc zAz~#O?Y#Xhy`AU`;YEUBC7RA@O?fd|TnRs37I+1(N=+PW{{ye9c#YLP<7qq7mOMUf z=h*fe7)wywQu$eSXDWm@3B<~8;cXTF+J7q#KV)3s9al$ZofA{JoZXgE@t(X|ysYeF zOBj$DV`PAcd~&7nTK(5iY|%la2;7QQ5ru+LtQzEn1%B!AbmqysN`}QtTxd+-Hr&q8 zXcV_IyRva!l*(L5rND2{!;%V~g1Ta}50z++oo}C1&rp*fnlqVHw|B)C+`tEHRT4rb_<)`OU-nfe+&@#Y}Q;`>p%5hLcump*{HJ{(z_ za&UJ1TnD3^g=lbaz@Xd=I{0}XE?`vrVpsYdq4JIJ(jj3lPxhs_7aRG#$YB?MfdF*= zJp~nVa_s2BawH&8ie+ZrfqU)$h&F}RG05j-OYu~yy=?dZHph)PsBfk<8>Bl<4 zVGep7{K?YX78%`#elEYM6)VgRr}g0kOCRH4(>83i!e(HQ5@Z=3_I9yRLqQ;!YMEnFOQYS@4(3Yt)>+n#UCGPCAa(5p4@|`@|f>VC_R{LhW+I+ zQ~1l{eRy)!4|Sjafv(27s|PMKquVjej5_#R58{?l>7GO0*)+DAk?pv_jIdCiR8|wt zy5~^wd~R7yAd@2;^^h(%;OUbaGg4+gbv_+ zF*S0#ga1WasTJ>fdpo~&ey{x9sAk#0Tr;_%yt;5W&c|4uhH>2KM{r4x#C;f#b(jE$ zTeKe*9>FB+#$Z9U{MY18SeN@ts~Nk7ohU5( zfTu}CJuSnBJYgE^EMhDCY+%+;XfFQEk5ZVUoPm#-66oN;`UL+$gl~2WK4mJ(K`!NC z{4Zi0Y8sz26=%m2@dft4@aAbPO22{`7~t0+D$lE^8M{>lui_N#RIwBI8k2}ZjOlQxy&KO5wie)l@?XnEwN(u@iRy delta 2353 zcma)7d3X~=6#u;>-A(o|N1K){NLxfqDmEe_C0IW|4(t5~A6M}RC6qwgLK8qmi3;M0 z0)rRc3f2p?qM;N7(F&+23f@u$M7-}4RPfCfi;8}q*~z{)@1B|Wo4u@TSDE(WzLqrr z`qJS|TGFKj;J`=&qcB>$?&_&j;T#oX#Vl7B=eamfxN|C%n1OMq79(>uyQ>g4Fab59 zOo{ZaLc+i#D1@BqWPK{GA&EK_wS?SBvFWi$GFDd;89uS0enxCulKtv2Ma)-@$!%bV z;q~>Ci#2pd+CWcC6R#>Ig)<0_+LVTJTxg&IeKiclOam9=5}~Wz%?v>)o{&h!Q*Kn6R!|YX~%?C%4%8&d7<#>2N!nMxJmKq zbbl4Ax$LSzD%J>1FH)W{uny0Ph(1)u3>t8!w7A zdVaDM2@Nk}vx-*;K0ExhbRroU*w7HWFlFFXyvBvbr%sC{Qv{uTD=XzcJjRW!1aGu> za4a1wu1%zBW9jONZoEM-qs2omsE$ubC+h2>yvt6!W#DbRBL)~p#NI=jif!z9a49Dz zV<}GcK6(+uiQ9UkK&P5PS# zZo#eWZ}@QQf7p)jkx$y@8n_qtv2B1HC=h;6uprF3Ai=1ttBW_-OOK~ivcy<#sjD-g zt2ocwRXpHLcxFO{0Z@e~^v&(pf)T(qXSb{Ak>WGOX69i0@Jf7&7v%e&Ii<1P8Jt5<03W+ z%sND=98_M~p=@FZ&%qMzT_A;4egGFVevd$q-(HAI{l{mnMG5Ak8ygPAhd6~dq>_qo zDxHYaptIRnc;sqvIcD=Lmr6P46(AH)56orGfnoRwSK=yesI&1UuEsUU!D#Hlwah7~ z#=E!<^LW>4xoxj!&dm`jFdR2<{P`IUTFkEPW(zvZ7Ic^`WHZ55|B4Q`5CN=>Xs`D zn=>eCQuHuO;X0mf#@eXY(*9(9me%`Dz!Ht@lL z`Hp{-)x_tM#xjcVIX=sGvZQTf+BAU`beb*SV$(J%kd(U7N%lN*F4j@nHrQs9>}5!_1M;m47%5JH%r zA);T<%#`60L>P_7GP-*4O>-QUF~ZiNH%IM*jm&Su320*oeTjYyk0_a_pc3?_ZcGJE z;*0}nF$U2loJ?CV#BS*+@=aUu3AePuAM{Q5lu@oCOb_BSM!p9_XdXVtJ)^nAGieUK zz-o3GMHg|J)r^P)x$zag=9?ys4fuvR9~Zh5-{L!7#9Z8t@0km5;&S|eA7R=!e+UJ? z!E)`#9SDdi`CWUjQo*Ag-K{EGi6Q8L*MokZJ;3QU+I5Gdrnwg$iF=XAKhl(b@-o;x zSjA3pTYk~7pLh=)_!+-2E#=E_Kb-tIb5c8(LvHfeGMx@1ug&=>kMgO2?d5l)6BSYy GSbqS+)hA;B diff --git a/checkDataIntegrity.jar b/checkDataIntegrity.jar index c1a3e622efb75f1fa1895da0dfc40ae8243cead6..2309cc97ce0bc96f01d51d92fff93db8ff93d594 100644 GIT binary patch delta 3155 zcmYM$cRUq-yvK1zRx0~s9HWebLk_aZD#F3xaL8UK93u{;jGXLskd7SLBgAoVWR{F% zWUu_Ja*RYq4rL^{zxz9n$GzWw-p@Zj|9xLAcZ%<@S-{RQ@X)cau+U}V>uoaFIvD=j zabeo-ga2E+5CB303~-%>Xn_8Ic-;?pNl#NCLoa|P4JHRxnqF{3pQA~H2gpE^8ebDV zL(H>!8~mO?BMn5*HHN4E9)Mo}X<*G1UvN+W?~4-8J6w^Yh+CW&SKElSi0LnBg5n9Q zU4A2N0JN_yVR}c7WI(dN9z39E3{MsdS^3$V{aNL`z%DbjeB_) zyo_dyj0$rYFjYzjGxT!Ij>m4W3iSGwJq(yrbccAlf}7o5BIqwIMel*CrlD z+zdxza<*MXJ*3t0GX$VB1q!97h6730y~htk`2sxvIVh>EFYZ8C9X3;M5^pT_1zOjz z5X2q77w=G(vy6hg7EZ{0+Lm`)gwdUWc@IOOI}2^1gV=&;&>B&jPGmy>u-j= zt>g1&HV}a|o%-|Uy^5v78Mm~cv(*ks+5Bi{U)7~s5o4*yz~iJj6(I3ym#Q~M%06q_ z3=@+gH4zsY8~}cS#pN`eeJghAvKI~>UmU)9@m5EwF>tfax$|{jL%ja2#>(4_Bj~&d z&y8uAY2)v!W96>hcV5nVt?04T+Kw4OW~?yo?wvS+;k^dy*zs!?8GIbx*SPb8DC}^h z$*Q8;luR;r{-0U*ax-EdI0h7;TN{0WbxcrTYU+t(1n_c)HX96NMKSjjB5A-j#J{~ zluA!DlP+Dvt!KHN6cg8P##U2=Wn;ED!=O(ra}lHEw8;cNzAXcBPmeg4IPHguo!R5(6vFf1hWwZG=vKNh4=MZEu4MB>!$fqfXt z7Ta9Vur1RPpPTfZ+#dNDplUfg(@^?Ot-fUDMvA6vE+MB$rX{tLU$e&qWvj6N7||m% zGuku!ld;zoTvdTO;PO_lG_`H$>3Ng~Ff430m#J{LpKZImbQXiMI5289>Wwh$@%k#^ z?At3QEoS(uk^1*iJd*LGaK+AUC&JuD8Cyt*+I*&dCDzlJe1ePsxQK_B7)Fc<)I(37 z=Ji*p#kv7(H6{ro1fEN&#fn?_iQD2<>GcRHGuBr32Gg(ZF30R9IU*pJiq!`^S|1|n zV(xYkB=RBP`Ex71$KFV{(b?EdvY&p1m88itCZB-E3|EPRkHnK7=({yUQ!_O#YXl$gZPCbm3AUUGj5`r?P$*0WN{F7 z8h)hh;p&(*UOHqWJa;~B^{jl`{Lj;yF3!ITO}WPBm_ zXW8~?gI^6pksfI?!mI6(NiH%+SYT>;E`pjVD*^l-Fy#@?-Ql)Zy5Y539le;^DrQKq zp@vtkl$)#mV9r`*E#S@8IjBP~y)v3WNL*jqbL>|A zBrANpH}T`igi$IGuaby1NwKII%wS#Fv)m?wikjZ4W*8gb9NRG;M?ojp$tbE1TwFFt z7ajtdwkRoVo+4_A;8^nPmG1UFlnhZ|oK=sD{{2Ll%vJfWiX+-3u;32Hh?0aTSXB=0 z9sOtJw5|7YY$(?AnUy3#A$bpcv|2`qY+;db0mZU{`wkB>ej>Pyz0`GgX4}H|N_wMlaRv`zwbd4{F~xdp1S;e=4~d zD2%G0-)ZA0dhc;INALH}&*_!kwX%pU+n{puoXVE?4#*Xa%UB`en{(e!Umg0|4QaRZ zk8?R&&rUqnSrh4r_Wv7~FxH}$Vqhn`a^I~Xt`uf?I{{;JVp%;G!qVl6EVg>gKsd9NnO^#u`o+k3o!FE#iaSOAi#34cL*+6X&l9-x zYmj_3E!5n#kp~MVu~UYMU~Db>=W;e5jgeY~m!4>@Ydp~yE^Ga<3d)t`%9DFkSbX?1 zv^}Fo_$;?Cz??X+OzM6Fiu>~;N8ZjUuPx~Q-j(!2lZBX4t!1SGN}-kyf7W*P$fA9G zU!VLG*>ojOabSa%sV|2c3WEW zTH&9Onl9~Q`_*$18e=r;dt?K(-xY2n=oMVeTCzWYc%LHM*ndc7sVs>c(PgJp8#UnYbBQLXVkR~pa{{%SQICY@FZffqh8_U4C~X0PEnf4Q zHFU3n_l>^~NsqgM`#1BtIMp}pZ?QzW^EEGa^IEWv3Nnp1(F}Jxf)cQa%dkeorsw)cWAh zA|GSf2da|;dr@g|&2osfh;Hs0MrjINRobP43)s$mbrN&_jokMgkyexa{7%_nLQgtd zr^rw2fNjNTRcN|zqhw&djqj)v?C{;QC(3%Y;zhQ^3{O<$%jNAD4Nzeix2(oQ34AFehOyKwV>tl?+m|hYt|sf@(lha$+Jy{jHEY=W^Zn zGf~8oNxo%9)W!x1C6;saPgKuLKl=y?MU2CKZK0RxZ@j#>Zc4u*yO8o4BVr>8V-hsv zNLSdnk*bmfC4MCD?|Q9m^44X^GzB-Z{rjIUU-sj8Sm&A*2pe!A7uG)v+V&Ya&2U7H zi61P(S8G!=2xF}9gz80HhrDsvdN}XjfdW>1L<9iq;Y{xD?s)yJG@W1Zv~Z#CQzCZR zW$US_wK?k=uM)aTiD*L;C4fypw+QJRm0*<*0gzeT3h-az*&#TF_Oh= z32ds|s$`jWj67c>Sb5t>?pGsez;t&ZjByl4ag@6I^=mVebN%s&NZU{dCnWA1o24|* zQbV|0F>CE-A~4c2;85U$sls4dYn#;cx5QRay6p}N7&A-OSpfQsm5vU;OGjq`1JLu( z{eP|FbtGvGj*pX+`!B8W&5|lKP$e~JfJ)t@Aw&v6!;ln;1|{hr8mgr4(!dQt)9?i1 kN5d{8m{#asGMY4$%iOs1zp4Izm*ID1^qKf1>HdBH1BCzz8vprZj+CQ=R238qh)Ry$ga`zUA|2HK)N(o zZ2xaHizkASJ|`t0$V8W#NHYTy0IOp`_#)cG#P$y=#jY{I{@#c%C#Hep%HoXL2VB13 z%$EVQh+;QmkKpEpa+Tkz+I9Jos+Bd8rFy}p&BNQvtJ2w?WVH<4 zx33Pk?`7TQV`F>rQ4^eHtQ328f*RQ0d+Oe{K970#crWBomsJwz8?B}XNx$V%H5%uw zITSE_XS^;L+}r?eoNUAqME_uB5YCz%F`I)OMo;>5yp2<5XoBvR?kWiTDz^ljv#5n( zZ5_yqWA`I%!e5i}8YfrzY^#S2FNT>2*{^-*u3ruI9a|#YK#8DHUSxa=3Wevkc|ELYRNp-0l#sp3YOZcX8Azb{_8jI)d~Q}k=jz7~#`_Y4 z!DE*oMQ#n);U1hF%LuHZ+O?&7&SWU@f*@y$G5-mYvn5#v9^;pG^$TU}xOTC@~s1#Y?d%P&}?7ox{S@wlxnDSX39 z{iVz0cYOQ1ukt$C8fH|M8RE04jmXY#O6J~rYzh;;hwowL?#mFSbx#BZZdN6ODW>9W zFFvu+C`QPerEl>*tmMfv8IY3jD8EYy4(E?nvidsa;qL9;0b;p6kLTuE7c|Gj*jZ5x zb4UM}#X0r2uvhuiG~Tfe7-pUsq@-A~OM%khJeEN(@OP&aycPzPg72o6v|Mz-&ffe` zHxs(?MpN0&4E7_%4Qm(k_-4muf=gXOrbUANz$e7dR>!TWIAT=>G3vK)%IaGG;AnG- zo+tsHujZ1v5WE`aPEI8fp*L(-d2KX;yXz-{aquilx2k*jXGD{0dGL`*zZ9mwvJqP8 zmwTx_`N?u?reg~+6g3k zqv^@WhT}>pwXR{#9+Z4g;*_9OTor=uCE;Cx- z9$wn7P+}_a1b-NE3Vm);Lhy*KtdC9Xmrk#hdA(Nr%KVMrC23;Ws!blG??9Ao zG1^GQKh;dE1Z0HXzEigWH9X+nC2M}@tI;g0pDwfC9eODwIV_-IIPq~hUs zBSV?t;Q2rk_OC=dCCJXvZhVH_q?p@@k0f^lwY>ZOfYUMrwEBu=_%EBG zO(?bj+7Yg*dtvdGBn_B58O9T@`Wd2TXP!%wyd`$ySU+)>J;u)&jp*^vdrnzPv%jgN zX{#ykq%iq}I|fN|g>a32kO`vXYm-#9qQ6Ua`fX5EaP{#HC|K?0c0i@n^y1-Cj*{nz z-vB_d%xu3yn%H!C?UXeu371*ldST%wNCNLKWy$_2ro^)vWg|5qOdQR9O6 z*t3k>s0JrT#w#x1@(ca=?C#h`6)q{4o!UOm8T-UcKRikQHf&jV37%W|CIko>>|Tl_ zNBAt`4CI@1db?HPkmR@qkj+m`orI(tIF&`^PyuW3d6i{Bo6c;>zI_HAycZF`ei(Dl zcdh*SgR|08nOzh#=Pqp+YOgAX{a8r*mNsMXvhV#Ceo67@_qjqRW!!|QP~}3_mauh~ zA{*YPdvs6i`zgvua46Bz{_Q#vgv{#x1{BBn>#8XfRgfgCfwb05HEemt=BpD9jf&(; zt@&2vANPQB!Mdp1$c`XiR-MW;HpVAqo{?9m<~vVV&i25Ku`^6Nty35Z`iLmZ-xN0I zMcbqPU{FY5J*iXONf}Ub2cVpaMe;+71?shT@@A95slLg_4)(;&OFP0#eumc`Na7^B zOO`Y!wz(_`8k9eiWQ8WgfRIdrBjhP$KTtt&tyH$lbl)qI{VL{Y@2=tERdV7j-A*)Z z04d=fBDPhz*IgQ?Kw0-BsRmd>d;vy*NsYhe4yH1D2ja-AJ+Hc8{l7>8Z4R-!Jri>^ zD4}igE7aeYA|e}~9;q;?7eW)onI}JjXFmTy$@`(0r+oI~C`{L3@%N(-Z%#*FcspNb z++GCoI&Vm=mqGDH&ryjgpYzv2Cm2sHkm#zMTg>X#4}EbV{HHEbe~I&J@qx#*(<@&d zFIo0wmaJf8aGAlGXE{%RsiEp7I!1k&pB2+bX8jlnWN$LN^XZvhvH88^ISyBOLu~tq zw>|dGCr3#|_j}}XUy)Rf7(B-Tpz^O9re)tg9B{5*cjm>{+n^|XR?di{IvC6-huGsM zoPp^RbXJ||^qYG*>8B6 zcU9;2PWF-$5j4bX>8}N zmv84~PsFo37e6d*Z})}q5&A4deleRtS=n5|HZp}c0038E0Kg0iWDo%SH`Wv6WcB|I z+61($A{~XYDs;@qYS1Af2cZKc2dAS+&Xo>{tNwHlu0EjS?5YPH9-v2bOoK4=1aBs< cNl)-e^4eVgB>4Y78DUyppXIvjKR<{60BgGKL;wH) diff --git a/src/checkDataIntegrity/Main.java b/src/checkDataIntegrity/Main.java index 5b3f621..600f624 100644 --- a/src/checkDataIntegrity/Main.java +++ b/src/checkDataIntegrity/Main.java @@ -24,12 +24,12 @@ public class Main { final long start = System.currentTimeMillis(); final AtomicLong count = new AtomicLong(); final AtomicLong countErr = new AtomicLong(); - final ThreadLocal bufs0 = ThreadLocal.withInitial(() -> new byte[4096]); - final ThreadLocal bufs1 = ThreadLocal.withInitial(() -> new byte[4096]); + final ThreadLocal bufs0 = ThreadLocal.withInitial(() -> new byte[8192]); + final ThreadLocal bufs1 = ThreadLocal.withInitial(() -> new byte[8192]); try (Stream walk = Files.walk(Path.of(path0))) { walk -// .parallel() + .parallel() .filter(Files::isRegularFile) .forEach(p0 -> { long cnt = count.incrementAndGet(); @@ -43,21 +43,25 @@ public class Main { final byte[] buf0 = bufs0.get(); final byte[] buf1 = bufs1.get(); try (InputStream inputStream0 = Files.newInputStream(p0); InputStream inputStream1 = Files.newInputStream(p1);) { - final int len0 = inputStream0.read(buf0); - final int len1 = inputStream1.read(buf1); - if (len0 != len1) { - System.out.println(rel + ": Length mismatch"); - countErr.incrementAndGet(); - return; - } - if (len0 == -1) { - return; - } - if (!Arrays.equals(buf0, 0, len0, buf1, 0, len1)) { - System.out.println(rel + ": Data mismatch"); - countErr.incrementAndGet(); - return; + int len0, len1; + do { + len0 = inputStream0.read(buf0); + len1 = inputStream1.read(buf1); + if (len0 != len1) { + System.out.println(rel + ": Length mismatch"); + countErr.incrementAndGet(); + break; + } + if (len0 == -1) { + break; + } + if (!Arrays.equals(buf0, 0, len0, buf1, 0, len1)) { + System.out.println(rel + ": Data mismatch"); + countErr.incrementAndGet(); + break; + } } + while (len0 > -1); } catch (NoSuchFileException nsfExc) { // System.out.println(rel + ": NoSuchFileException");