Pakonigoosy
@Pakonigoosy
Разработчик ПО

Как эффективнее работать с файлом, к которому нужен постоянный доступ?

Пишу в учебных целях класс, который будет заниматься логгированием. Сообщения он записывает в файл. И мне интересно, что лучше - постоянно держать файловый поток открытым или открывать его только когда понадобится внести изменения?
С одной стороны, если поток всегда будет открытым, то пользователю надо будет полностью завершить программу, чтобы безболезненно работать с файлом
С другой стороны, если его открывать только когда он понадобится, может вырасти вычислительная нагрузка (при большом количестве записываемых сообщений)
  • Вопрос задан
  • 44 просмотра
Решения вопроса 1
trapwalker
@trapwalker
Программист, энтузиаст
Что вы подразумеваете под "безболезненно работать"? Правильно открытый на запись файл не мешает читать из него. Или что там у вас пользоватль собирается делать с файлом?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
mayton2019
@mayton2019
Bigdata Engineer
Пишу в учебных целях класс, который будет заниматься логгированием.

Держи всегда файл открытым. Если это для Windows - то пользователю не запрещается открывать его на ЧТЕНИЕ в текстовом редакторе в этот момент.

И не забудь добавить ротацию логов там по минутам или часам или суткам. Чтоб не было 1 файла в петабайт.
Такой точно нигде не откроешь.

может вырасти вычислительная нагрузка

Какие-то непонятные страхи. Что там куда вырастет? Я не вижу в работе логгера вычислительной нагрузки.
Давай чтоб-не было в вопросе всяких метафор типа "безболезненно", "прелестно".... и так далее - дай
цифры. Сколько будет записей в день. Сколько на пике в секунду. Как часто пользователь будет лог
открывать. Что он будет с ним делать? Будет ли редактировать(!) ?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы