Главная / Программирование /
Программирование на Java / Тест 15
Программирование на Java - тест 15
Упражнение 1:
Номер 1
Какие источники могут использоваться классами стандартных входных потоков java в качестве
источника данных?
Ответ:
 (1) файл – представляется объектом класса File
 
 (2) массив – представляется массивом byte[]
или char[]
 
 (3) строка – представляется объектом byte[]
 
 (4) строка – представляется объектом String
 
 (5) таблица базы данных - представляется массивом Object[]
 
Номер 2
От какого класса наследуются InputStream
иOutputStream
?
Ответ:
 (1) IOStream
 
 (2) AbstractStream
 
 (3) IOWriter
 
 (4) Object
 
Номер 3
Какие утверждения относительно классов InputStream
и OutputStream
верны?
Ответ:
 (1) являются абстрактными 
 (2) если запрашиваемые данные еще не готовы к считыванию, метод read()
вернет значение -1
 
 (3) метод write(int)
является абстрактным и должен быть реализован в классах-наследниках 
 (4) метод write(int)
принимает в качестве параметра int
, но реально записывает в поток только byte
 
 (5) метод write(int)
принимает в качестве параметра int
, реально записывает в поток только int
 
Упражнение 2:
Номер 1
Что произойдет при попытке к одному объекту PipedWriter
несколько раз присоединять объектыPipedReader
?
Ответ:
 (1) при попытке присоединить более одного PipedReader
будет брошено исключение IOException
, но только в том случае, если предпринята попытка
присоединить PipedReader
, отличный от уже подключенного
 
 (2) при попытке присоединить более одного PipedReader
будет брошено исключение IOException
, даже в том случае, если производится попытка
несколько раз присоединить один и тот же объект PipedReader
 
 (3) ничего не произойдет, так как это допустимая ситуация 
 (4) ничего из перечисленного 
Номер 2
Что произойдет при создании экземпляра класса FileOutputStream
, если ассоциированный файл не существует?
Ответ:
 (1) ничего не произойдет, но перед записью данных в файл его надо создать с помощью специального метода класса FileOutputStream
 
 (2) будет сгенерирована ошибка, но можно будет продолжить работу и создать файл с помощью специального метода класса FileOutputStream
 
 (3) будет сгенерирована ошибка, дальнейшая работа с экземпляром класса FileOutputStream
будет невозможна 
 (4) файл будет автоматически создан 
 (5) ничего не произойдет, но перед записью данных в файл он будет автоматически создан 
Номер 3
Какие классы предоставляют методы для записи в поток двоичного представления значений примитивных типов Java?
Ответ:
 (1) DataOutputStream
 
 (2) OutputStream
 
 (3) SimpleOutputStream
 
 (4) ObjectOutputStream
 
Упражнение 3:
Номер 1
Если вызвать write(0x01234567)
у экземпляра OutputStream
, то в каком порядке и какие байты будут записаны в выходной поток?
Ответ:
 (1) 0x01
,0x23
,0x45
,0x67
 
 (2) 0x67
,0x45
,0x23
,0x01
 
 (3) только 0x01
 
 (4) только 0x67
 
Номер 2
Какая кодировка используется классом OutputStreamWriter
по умолчанию?
Ответ:
 (1) используемая кодировка зависит от системы, где запущена Java
-машина 
 (2) спецификацией Java
не оговаривается кодировка, используемая по умолчанию,
но точно известно, что jdk
, поставляемая Sun
, использует KOI-8
 
 (3) UTF-8
независимо от системы, где запущена Java
-машина 
 (4) UTF-16
независимо от системы, где запущена Java
-машина 
Номер 3
Если вызвать write(0x02468101)
у экземпляра OutputStream
, то в каком порядке и какие байты будут записаны в выходной поток?
Ответ:
 (1) 0x02
,0x46
 
 (2) 0x81
,0x01
 
 (3) только 0x01
 
 (4) 0x01
,0x81
,0x46
,0x02
 
 (5) 0x02
,0x46
,0x81
,0x01
 
Упражнение 4:
Номер 1
Какие утверждения относительно класса BufferedOutputStream
верны?
Ответ:
 (1) предоставляет возможность производить многократную запись небольших блоков данных без обращения к устройству вывода 
 (2) запись с использованием буфера значительно быстрее, чем без него 
 (3) инициирование передачи содержимого буфера на устройство вывода осуществляется самим классом BufferedOutputStream
 
 (4) инициирование передачи содержимого буфера на устройство вывода можно осуществить явным образом 
Номер 2
Какие утверждения относительно класса BufferedInputStream
верны?
Ответ:
 (1) содержит массив типа int
, который служит буфером для считываемых данных 
 (2) содержит массив байт, который служит буфером для считываемых данных 
 (3) метод mark()
запоминает точку во входном потоке 
 (4) метод reset()
всегда сбрасывает текущую позицию на начало файла 
Номер 3
Какой класс позволяет подсчитать количество считанных строк?
Ответ:
 (1) LineInputStream
 
 (2) LineNumberInputStream
 
 (3) NumberInputStream
 
 (4) CountInputStream
 
Упражнение 5:
Номер 1
Что произойдет, если, используя ByteArrayOutputStream
, записать в файл значения типов long
, int
,
byte
именно в таком порядке, а считать в обратном, используя DataInputStream
?
Ответ:
 (1) ошибка на этапе компиляции, так как нельзя настраивать DataInputStream
на данные, записанные с помощью ByteArrayOutputStream
 
 (2) несоответствие форматов ByteArrayOutputStream
и DataInputStream
проявится только во время выполнения, что приведет к возникновению исключения IOException
 
 (3) все пройдет успешно, но полученные значения byte
, int
и
long
могут отличаться от тех, которые были записаны
 
 (4) все пройдет успешно, полученные значения byte
, int
и
long
не будут отличаться от тех, которые были записаны
 
Номер 2
Что произойдет, если, используя DataOutputStream
, записать в файл значения типов long
,int
,
byte
именно в таком порядке, а считать в обратном, используя DataInputStream
?
Ответ:
 (1) ошибка на этапе компиляции, так как эти классы можно использовать только со значениями byte[]
 
 (2) ошибка на этапе компиляции, так как эти классы можно использовать только со значениями byte
 
 (3) все пройдет успешно, но полученные значения byte
, int
и
long
могут отличаться от тех, которые были записаны
 
 (4) все пройдет успешно, полученные значения byte
, int
и
long
не будут отличаться от тех, которые были записаны
 
Номер 3
Какой класс позволяет вернуть во входной поток считанные из него данные?
Ответ:
 (1) ReturnInputStream
 
 (2) BackInputStream
 
 (3) PushInputStream
 
 (4) PushBackInputStream
 
 (5) в Java
нет возможности вернуть считанные данные в поток 
Упражнение 6:
Номер 1
Какие методы объявлены в интерфейсе Serializable
?
Ответ:
 (1) в интерфейсе Serializable
не определено ни одного метода 
 (2) Serializable
определяет два абстрактных метода – readObject()
и writeObject()
 
 (3) Serializable
– это класс, в котором есть только конструктор без параметров 
 (4) Serializable
определяет два абстрактных метода – read()
и write()
 
Номер 2
Какие утверждения относительно сериализации в Java
верны?
Ответ:
 (1) сериализованный объект – это последовательность байт 
 (2) объект сериализуется и записывается в выходной поток с помощью метода writeExternal()
 
 (3) для того, чтобы объект мог быть сериализован, класс, от которого он порожден, должен реализовывать интерфейс Serializable
 
 (4) чтобы начать сериализацию объекта, нужен выходной поток OutputStream
 
 (5) для успешной десериализации не обязательно наличие описание класса 
Номер 3
Какие утверждения относительно сериализации в Java
верны?
Ответ:
 (1) для исключения поля объекта из сериализации его необходимо объявить с модификатором volatile
 
 (2) если класс впервые реализует Serializable
в своей ветке наследования, то его класс-родитель должен иметь доступный конструктор без параметров 
 (3) для исключения поля объекта из сериализации его необходимо объявить с модификатором transient
 
Упражнение 7:
Номер 1
Какие утверждения относительно объекта класса File
верны?
Ответ:
 (1) может указывать на каталог 
 (2) для успешного создания объекта файл должен существовать на диске 
 (3) является абстрактным представлением файла и пути к нему 
 (4) не позволяет удалять файл из файловой системы 
Номер 2
Какие утверждения относительно объекта класса File
верны?
Ответ:
 (1) для создания объекта неважно, существует ли такой файл на диске 
 (2) не может указывать на каталог 
 (3) имеет специальный метод для получения расширения файла 
 (4) для работы с содержимым файла можно получить экземпляры FileI/OStream
 
Номер 3
Какие методы класса File
позволяет различать обычный файл и директорию?
Ответ:
 (1) isFileDirectory()
 
 (2) isDirectory()
 
 (3) isByteFile()
 
 (4) isDirectoryFile()
 
 (5) isFile()
 
Упражнение 8:
Номер 1
Каковы высказывания относительно классов Reader
и InputStream
верны?
Ответ:
 (1) оба класса работают с байтовыми данными 
 (2) оба класса могут работать с символьными данными 
 (3) Reader
является потомком класса InputStream
 
 (4) Reader
работает с символьными данными 
 (5) при работе с InputStream
нельзя указать кодировку 
Номер 2
Какой класс соответствует классу CharArrayReader
, но работает только с байтовыми данными?
Ответ:
 (1) FilterInputStream
 
 (2) BufferedInputStream
 
 (3) ByteInputStream
 
 (4) ByteArrayInputStream
 
 (5) нет аналога 
Номер 3
Какой класс соответствует классу DataInputStream
, но работает только с символьными данными?
Ответ:
 (1) BufferedReader
 
 (2) InputStreamReader
 
 (3) PipedReader
 
 (4) CharArrayReader
 
 (5) нет аналога