Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
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:
Зачем получать размер файла, даже не спрашивайте ))
# не доверяет файловой системе
A: А вдруг файловая система вернёт неверный размер файла?
B: Ну, считаем весь файл в память и посчитаем размер в памяти.
A: А вдруг файловая система выдаст не всё содержимое файла?
B: ...
А чексумму ты куда сохранишь и откуда считаешь, если дискам верить нельзя?
Да и для вычисления чексуммы в первый раз ты файл тоже с диска считаешь, а им верить нельзя.
Может, конечно, ты в уме мд5 умеешь, и хорошо запоминаешь, но нафиг суммы, лучше тогда сразу запоминай сами файлы.
A: А вдруг файловая система вернёт неверный размер файла?
B: Ну, считаем весь файл в память и посчитаем размер в памяти.
A: А вдруг файловая система выдаст не всё содержимое файла?
B: ...
На планках без ECC это заканчивается всякими рандомными багами...
Да и для вычисления чексуммы в первый раз ты файл тоже с диска считаешь, а им верить нельзя.
Может, конечно, ты в уме мд5 умеешь, и хорошо запоминаешь, но нафиг суммы, лучше тогда сразу запоминай сами файлы.
На тот же носитель. Один хер все чексуммы и коды коррекции только с определённой вероятностью работают...
Смотри, есть два носителя: на какой сам сохранишь, с какого для матери считаешь?
Что это за изврат такой?
А это уже разврат