Библиотека Java IO удовлетворяет многие наши базовые требования: чтение и запись через консоль, файлы, блоки памяти и даже интернет (см. главу 15). Можно создавать новые типы объектов ввода/вывода (наследуясь от InputStream
и OutputStream
). При передаче объекта методу, который ожидал получить строку, автоматическое приведение типов вызывает метод toString()
. Мы можем переопределить этот метод toString()
, расширяя набор объектов, принимаемых потоками данных.
В процессе создания онлайн-документации и проектирования библиотеки IO остались нерешённые вопросы. Например, при открытии файла для записи можно указать выбрасывать исключение, если кто-то попытается его перезаписать — некоторые системы программирования позволяют нам самостоятельно выбрать режим открытия файла, но с условием, что он ещё не существует. В то время как в Java требуется использовать объект типа File
, чтобы проверить существование файла, так как если открыть его как FileOutputStream
или FileWriter
, он будет обязательно перезаписан. При одновременной спецификации пути к файлу и каталогу выявляется недостаток дизайна класса File
, поскольку он говорит «не пытайся делать слишком много вещей в одном классе»!Библиотека IO может запутать нас некоторыми концепциями. Она действительно выполняет множество задач и является портативной. Однако, если до начала работы не понять идею декораторного подхода, все проекты будут иметь некоторую степень слепого использования. Поэтому, будь то обучение или преподавание, следует уделить этому особое внимание. Более того, она не полная: нет поддержки форматированного вывода, хотя почти все другие языки предоставляют эту возможность в своих библиотеках IO (что не было исправлено в Java 1.1, которая полностью упустила возможность изменения архитектуры библиотеки, вместо этого добавив более специализированные случаи, увеличивающие её сложность). Java 1.1 перешла к тем библиотекам IO, которые ещё не были заменены, вместо создания новых. Дизайнеры библиотек также не всегда хорошо указывают, какие характеристики не рекомендуются, а какие являются предпочтительными, что часто вызывает возражения относительно дизайна библиотеки.Однако, когда мы освоили декораторный подход и начали использовать библиотеку в более гибких условиях, мы начинаем ценим преимущества такого подхода. В этом случае дополнительные строки кода, необходимые для реализации этого подхода, должны быть допустимыми.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )