Описание тега liverpool
Простой ответ: Потому что он определен таким образом.
Более длинный ответ: это определяется именно так, потому что некоторые операции концептуально проще:
- Если файл содержит 20 букв "А", и снять все на "отлично", то файл станет 20 байт короче. Ту же самую операцию с файлом, который состоял из просто "АААААААААААААААААААА" будет иметь дело с особым случаем исчезновение файл.
- Более практически, удаление последней строки из текстового файла должны быть специальные буквы.
- Текстовые редакторы, которые регулярно делают резервное копирование потребуется специальный код, чтобы справиться с ситуацией, что пользователь может удалить последнюю строку, пойти пообедать, потом вернуться и добавить еще одну линию. Возникают дальнейшие осложнения, если другие пользователи создали файл с таким именем в то же время.
Вы можете сделать больше вещей:
* Файлы журнала ошибок, как правило, создается пустой, заполняется, если и только если случается ошибка.
* Чтобы выяснить, сколько ошибок произошло, нужно подсчитать количество строк в файлах журнала. Если лог-файл пустой, количество ошибок равно нулю, что совершенно логично.
* Иногда вы видите файлы, где все соответствующий текст в имени файла, например эта-самая-ведение журнала-каталога
. Это предотвращает администраторы очень обеспокоенные удаление пустых каталогов после установки, и это также предотвращает ошибки, когда программа или пользователь случайно создает файл, в котором программа хотели увидеть каталог позже. В ГИТ
программу (и др.), Как правило, игнорируют пустые каталоги, и если проект/администратор/пользователь хочет иметь запись о том, что каталог существует, хотя она не имеет никакого полезного контента (пока), вы можете увидеть пустой файл с именем пустой
или пустой.каталог
.
Никакие действия становятся более сложными:
- Конкатенация файлов: это просто пустой с пустой файл.
- Поиск строки в файле: это включено в стандартный случае ", если файл короче, чем срок поиска, он не может содержать условие поиска".
- Чтение из файла: программы должны заниматься, попав в конец файла, прежде чем они получили то, что ожидали, поэтому опять же в случае нулевой длины файл не привлекать лишние мышления для программиста: он просто попал на конец файла с самого начала.
В случае файлов, то "файл, записанный где-то" аспект (inode и/или имя файла) из приведенных выше соображений, но файловые системы не сделать, если пустые файлы были бесполезны.
В общем, все вышеперечисленные причины, за исключением тех, которые связаны с именами файлов применяется к последовательности. Особенно в строки, которые представляют собой последовательности символов: нулевой длины строки банальны внутри программы. Строки, как правило, запрещены на уровне пользователя, если они не имеет смысла: имя файла-это строка, и большинство файловых систем не позволяют пустую строку в качестве имени файла; внутренне, при создании имен файлов с фрагментами, программа может также иметь пустую строку в качестве одного из фрагментов.