Си диез / Говнокод #23471 Ссылка на оригинал

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
internal class Log
	{
		public static void WriteLine(string methodName, UpdateFile file, Exception e, LogType type = LogType.Success)
		{
			using (FileStream fileStream = new FileStream(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location) + "\\patch.log", FileMode.OpenOrCreate))
			{
				using (StreamReader streamReader = new StreamReader(fileStream))
				{
					using (StreamWriter streamWriter = new StreamWriter(fileStream))
					{
						streamWriter.WriteLine(string.Format("Launcher | {0} | {1} | {2} | {3} | {4}", new object[]
						{
							type,
							methodName,
							file.FullPath,
							e,
							DateTime.Now
						}), streamReader.ReadToEnd().Length);
					}
				}
			}
		}

...

Как получить размер файла? Правильно, надо прочитать его в память и взять размер данных из памяти :facepalm:
Зачем получать размер файла, даже не спрашивайте ))

Источник: hxxp://promo.riseofrunes.com/InstLauncher.zip (C#, декомпилятор).

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

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

    • # не доверяет файловой системе

      A: А вдруг файловая система вернёт неверный размер файла?
      B: Ну, считаем весь файл в память и посчитаем размер в памяти.
      A: А вдруг файловая система выдаст не всё содержимое файла?
      B: ...
      Ответить
        • А вдруг память не может вспомнить, что именно в неё положили?

          На планках без ECC это заканчивается всякими рандомными багами...
          Ответить
      • Все правильно, надо чексумы сохранять. Дискам верить нельзя.
        Ответить
        • Ну у что ты будешь делать с этой чексуммой? Надо чтоб ECC!
          Ответить
        • А чексумму ты куда сохранишь и откуда считаешь, если дискам верить нельзя?
          Да и для вычисления чексуммы в первый раз ты файл тоже с диска считаешь, а им верить нельзя.
          Может, конечно, ты в уме мд5 умеешь, и хорошо запоминаешь, но нафиг суммы, лучше тогда сразу запоминай сами файлы.
          Ответить
          • > куда сохранишь
            На тот же носитель. Один хер все чексуммы и коды коррекции только с определённой вероятностью работают...
            Ответить
          • >> ты куда сохранишь и откуда считаешь
            Смотри, есть два носителя: на какой сам сохранишь, с какого для матери считаешь?
            Ответить
          • Ты не прав, в первый раз файлы не считывают с диска. В первый раз файлы наоборот высирают на диск.
            Ответить

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

Из-за тебя ушел bormand, guest!

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


    8