Пожалуйста, укажите версию вашего затмения, а также вывод команды `Java-версия` на терминал. @DheerajVerma я имею в виду, что ... что я не ответил на ваш вопрос! если вы имеете в виду только то, что я не ответил на ваш вопрос, я предлагаю, из заботы, что вы берете тайм-аут на сайте. я не могу лично думаю, что любые школы, которые утверждают, что кто-то может достигнуть полного состояния Будды, не будучи частью какой-то школы. удачи помощник :) ! если вопрос в том, что я не сразу достаточно ответить, мой ответ "тогда кто достиг нирваны" - это *никто* Я читаю ваш замечательный ответ. На самом деле я тестер для Linux. Обычно то, что я получаю-это просто двоичный файл. Я думаю, что двоичный файл, который я вам компилируется без `-г`.

Простой ответ: Потому что он определен таким образом.

Более длинный ответ: это определяется именно так, потому что некоторые операции концептуально проще:

  • Если файл содержит 20 букв "А", и снять все на "отлично", то файл станет 20 байт короче. Ту же самую операцию с файлом, который состоял из просто "АААААААААААААААААААА" будет иметь дело с особым случаем исчезновение файл.
  • Более практически, удаление последней строки из текстового файла должны быть специальные буквы.
  • Текстовые редакторы, которые регулярно делают резервное копирование потребуется специальный код, чтобы справиться с ситуацией, что пользователь может удалить последнюю строку, пойти пообедать, потом вернуться и добавить еще одну линию. Возникают дальнейшие осложнения, если другие пользователи создали файл с таким именем в то же время.

Вы можете сделать больше вещей: * Файлы журнала ошибок, как правило, создается пустой, заполняется, если и только если случается ошибка. * Чтобы выяснить, сколько ошибок произошло, нужно подсчитать количество строк в файлах журнала. Если лог-файл пустой, количество ошибок равно нулю, что совершенно логично. * Иногда вы видите файлы, где все соответствующий текст в имени файла, например эта-самая-ведение журнала-каталога. Это предотвращает администраторы очень обеспокоенные удаление пустых каталогов после установки, и это также предотвращает ошибки, когда программа или пользователь случайно создает файл, в котором программа хотели увидеть каталог позже. В ГИТ программу (и др.), Как правило, игнорируют пустые каталоги, и если проект/администратор/пользователь хочет иметь запись о том, что каталог существует, хотя она не имеет никакого полезного контента (пока), вы можете увидеть пустой файл с именем пустой или пустой.каталог.

Никакие действия становятся более сложными:

  • Конкатенация файлов: это просто пустой с пустой файл.
  • Поиск строки в файле: это включено в стандартный случае ", если файл короче, чем срок поиска, он не может содержать условие поиска".
  • Чтение из файла: программы должны заниматься, попав в конец файла, прежде чем они получили то, что ожидали, поэтому опять же в случае нулевой длины файл не привлекать лишние мышления для программиста: он просто попал на конец файла с самого начала.

В случае файлов, то "файл, записанный где-то" аспект (inode и/или имя файла) из приведенных выше соображений, но файловые системы не сделать, если пустые файлы были бесполезны.

В общем, все вышеперечисленные причины, за исключением тех, которые связаны с именами файлов применяется к последовательности. Особенно в строки, которые представляют собой последовательности символов: нулевой длины строки банальны внутри программы. Строки, как правило, запрещены на уровне пользователя, если они не имеет смысла: имя файла-это строка, и большинство файловых систем не позволяют пустую строку в качестве имени файла; внутренне, при создании имен файлов с фрагментами, программа может также иметь пустую строку в качестве одного из фрагментов.