1. Java / Говнокод #6889

    +75

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    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, 08 Июня 2011

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

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