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

    +73

    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
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    private void CopyFiles(String dirName) {
    	InputStream is = this.getClass().getResourceAsStream(
    			"/18.xslt");
    	OutputStream os;
    	try {
    		os = new FileOutputStream(dirName + "/18.xslt");
    		byte[] buffer = new byte[4096];
    		int length;
    		while ((length = is.read(buffer)) > 0) {
    			os.write(buffer, 0, length);
    		}
    		os.close();
    		is.close();
    		is = this.getClass().getResourceAsStream(
    				"/13_02.tif");
    		os = new FileOutputStream(dirName + "/13_02.tif");
    		while ((length = is.read(buffer)) > 0) {
    			os.write(buffer, 0, length);
    		}
    		os.close();
    		is.close();
    		is = this.getClass().getResourceAsStream("/13_02.xslt");
    		os = new FileOutputStream(dirName + "/13_02.xslt");
    		while ((length = is.read(buffer)) > 0) {
    			os.write(buffer, 0, length);
    		}
    		os.close();
    		is.close();
    		is = this.getClass().getResourceAsStream(
    				"/13_02_t.tif");
    		os = new FileOutputStream(dirName + "/13_02_t.tif");
    		while ((length = is.read(buffer)) > 0) {
    			os.write(buffer, 0, length);
    		}
    		os.close();
    		is.close();
    		is = this.getClass().getResourceAsStream(
    				"/13_02_t.xslt");
    		os = new FileOutputStream(dirName + "/13_02_t.xslt");
    		while ((length = is.read(buffer)) > 0) {
    			os.write(buffer, 0, length);
    		}
    		os.close();
    		is.close();
    	} catch (FileNotFoundException e1) {
    		e1.printStackTrace();
    	} catch (IOException e) {
    		e.printStackTrace();
    	}
    }

    Запостил: evg_ever, 03 Апреля 2014

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

    • Обычный одноразовый скрипт для минутного кейза, тут говно приемлимо.
      Правда, стоило бы цикл сделать пофайловый, а не писать для каждого файла отдельно открытие/закрытие/итд...
      Ответить
      • Названия файлов периодически меняются, так что не такой уж и одноразовый. И каждый раз добавлялась или убиралась такая хрень
        Ответить
    • Зачем нужно выковыривать файлы из родного жарника в незнакомый каталог? Дефолты, чтобы пользователь мог их подменять при желании?
      Ответить
      • Пользователь их не может подменять. Я так и не понял, зачем это сделано )
        Ответить
      • Может быть пути к ним потом отдают какой-то внешней проге? Или какой-то либе, которая умеет читать только с реальных путей.
        Ответить
        • Нет, прога быстро обрабатывает эти файлы и потом удаляет их.
          Ответить
          • А открывает именно как InputStream? Тогда и правда хрен бы знал зачем так сделано ;(
            Ответить
    • NIO Files.copy не вариант? или это такой древний котт?
      Ответить
      • На это и исправил. Впрочем, изначально это под Java 6 писалось
        Ответить
        • могло быть и хуже, хотя бы не побайтово читается\пишется
          Ответить
          • Ответить
            • в этом месте даже хуже - не то, что не обработаны, а подавлены. в stderr никто обычно не заглядывает
              Ответить
              • И вообще не факт, что его куда-то перенаправили...
                Ответить

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