Jawa / Говнокод #6889 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
1.3 @@ -89,9 +89,6 @@
     1.4     public void openFile(File f) {
     1.5        try {
     1.6           Desktop.getDesktop().open(f);
     1.7 -//         String s = "cmd /c \"" + f.getAbsolutePath() + "\" ";
     1.8 -//         System.out.println(s);
     1.9 -//         java.lang.Process p = Runtime.getRuntime().exec(s);
    1.10        }
    1.11        catch (Exception e) {
    1.12           JOptionPane.showMessageDialog(null, "Ошибка при открытии файла", "Ошибка", JOptionPane.ERROR_MESSAGE);
    1.13 @@ -112,21 +109,6 @@
    1.14           temp.mkdir();
    1.15        }
    1.16        String fName = entry.getName();
    1.17 -      fName = fName.replaceAll("\\&", "_");
    1.18 -      fName = fName.replaceAll("\\(", "_");
    1.19 -      fName = fName.replaceAll("\\)", "_");
    1.20 -      fName = fName.replaceAll("\\[", "_");
    1.21 -      fName = fName.replaceAll("\\]", "_");
    1.22 -      fName = fName.replaceAll("\\{", "_");
    1.23 -      fName = fName.replaceAll("\\}", "_");
    1.24 -      fName = fName.replaceAll("\\^", "_");
    1.25 -      fName = fName.replaceAll("\\=", "_");
    1.26 -      fName = fName.replaceAll("\\!", "_");
    1.27 -      fName = fName.replaceAll("\\`", "_");
    1.28 -      fName = fName.replaceAll("\\+", "_");
    1.29 -      fName = fName.replaceAll("\\~", "_");
    1.30 -      fName = fName.replaceAll(" ", "_");
    1.31 -      fName = fName.replaceAll(("№"), "_");
    1.32        String dnFileName = temp.getName() + File.separator + fName;
    1.33  
    1.34        File dlFname = new File(dnFileName);

Так как открытие файла происходило весьма оригинальным образом через cmd.exe - вполне логично было написано фильтрование символов, неперевариваемых этой cmd.exe.
Как видно - задача решалась одной строкой - " Desktop.getDesktop().open(f);".

Запостил: maxt maxt, (Updated )

Комментарии (6) RSS

  • только вот Desktop появился лишь в 6ой версии, так что exec был оправдан.
    код, видимо представляет собой Diff

    по оставшемуся коду могу предложить такой еще патч:
    1.32 -       String dnFileName = temp.getName() + File.separator + fName;
        1.33 - 
        1.34 -       File dlFname = new File(dnFileName);
        1.35 +       File dlFname = new File(temp, fName);
    Ответить
  • ГWEBRFKPCXLXZTRICEHVYDKVJEATTQXLQMGUJVNBMDZXYHZYZDVWCKCFPDJYOXZBNCDQLNIWWBGATXUFSKHEBCPXRHUGCEIWLGUVOUYPZWJFMALKHNIHCZRHVHKCRXFFBNRRKPCYNXKUPQCVNRGTLVEEJSVNXBNFMUZULVJHHUDPQTRBSMENMNQ
    Ответить
  • н!X(Y.D F:T"P!K(H S)V.A?I!U,Z,S)M?J"P,T?QC?T,Z,A?E:W:H?M(A)M.J!K,H)W.J$W:RI?J.I)G(J,Z"S!A)A:G:T:D:Z S$I)L:Q.C?Z$Q?B"L.AK?H"Y.X$W)H!I:VY)I:O.Y:T)J"S V:O"B(R)L(X!D)X:K.M,JS!S"H?U(Q:D?Z!P.I"H?C?A.PI"F Z,DY?A"F!G,T:V.V)Y SB$I,J"P?Y$K!S"G"R$H(W?Q:Z,L.E?DW H(Q.JJ)Z)E B!P)Y$M,A$Z(U:K H!F"I(Q.Q(A.L:B"U$N,O,C,M!X!EB$L:G$N!T:VE"D)H B"R$C,N"C.Q.H!MC T(U)H$T$O"W,J FK(L"A E$O G!EN(N,P.B!K$W:O)R:I)J,T?PPC:E.Z$GWF$J,Q!E)L(B:I:R(Q(M M,K!C:J$T X?B$U O,N,K:C K MW,X"H$T W$C:SN:W,F,L,L:A.E$S?R:X"U$B?X(QU:Q:F.S)AY!K.M$O$JN S$R X(J:R(G.CM QV?S:L O?U!D(KZ!J(TK.X?DY(S!Y S"Y"E(A:M$D$A,V!H(V?D!T D:G:L?FG:P"E,VQ"M?X$C(H:F,TU$T!O(K"P(X)I)W(H?U,V)R.FK.O)G H?S$A"H(L)H:H)YQ?X$B!U(V.Y$I"F M!N"O.Y E$N!G)N,VE Y"K F?O,X)K!H)K"J"G,R?V PK:N:J"F$I:S?V,U?C.H(M"P$UB(P,K,R?B U$L$A,J)D:Y"Q A"I(Q,F K J$G.S"L!N!X!J T!TO"M.M.K,F,K"T.M(I?J?YV?LI?C?E)R,H,T!Z:G W)I"W W:C:T!C!U.J:G:Y$QM?P$W!Y(S$E.G:M"R)Q!F?Q:C.I,X"B D$D?A,Q)T)B A$Z.H!R,ND!N,I$RO?M)G,S)D$X)Z?X$D,P$N"T,F$S?G?I:A$N.ZG:W I.I?D$F X$M"Q?I?S(Z"P"B)V)V$Q(L!Z?L(O P F)S$Y.R)D.V:P.R,M X?Y?T?G.H)T!V?M:M:S$E"O.Q Z$Y:MN:B?H!V,J U.L?N,S)T,Y"V!X.RC)C.U"H.V.S"M"U(I$R M?B(W?V!I(U,P"G)I!Y"L,X)E(N$H.A$S W$M.L?O!C)D!N(G)Q?Y(I)Q$AK)E G$T?G?R.W$I.B C(BC$P,B:S$A!W$X)M$U(B$O.U(U)F,Q?K,NT"M)N:L,EJ$FЖONUVRCHNZBZFHJCNHKFFPKUBAVUBQUCYDSZSROBRSKXARVSLWZSYMPCHOENVGCEIXNHJQSUOMQYJLBSCIKGEHZZISHATPZGLKVJQUJLJRNQFOPJLNLGDQWFZRHLDHWEVFIWADAQNAWVUYDKVTUREESDSBBIAXHGQDPVKXO
    Ответить

Добавить комментарий

Семь раз отмерь — один отрежь, guest!

    А не использовать ли нам bbcode?


    8