рандомные вопросы Flashcards

1
Q

В каких пакетах лежат классы-потоки

A

Классы потоков ввода\вывода лежат в java.io;
С JDK 7 добавлен более современный способ работы с потоками — Java NIO. Классы лежат в java.nio

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Какие классы позволяют преобразовать байтовые потоки в символьные и обратно

A

OutputStreamWriter
InputStreamReader

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Какие существуют виды потоков ввода и вывода

A

Байтовые и символьные

Байтовые
- InputStream
- OutputStream
Символьные
- Reader
- Writer

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Какой класс-надстройка позволяет ускорить чтение запись за счет использования буфера

A

java.io.BufferedInputStream(InputStream in) ||BufferedInputStream(InputStream in, int size),
java.io.BufferedOutputStream(OutputStream out) ||BufferedOutputStream(OutputStream out, int size),
java.io.BufferedReader(Reader r) ||BufferedReader(Reader in, int sz),
java.io.BufferedWriter(Writer out) ||BufferedWriter(Writer out, int sz)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Какой класс-надстройка позволяет читать данные из входного байтового потока в формате примитивных типов данных

A

DataInputStream

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Основные предки потоков ввода вывода

A

Байтовые: java.io.InputStream, java.io.OutputStream;

Символьные: java.io.Reader, java.io.Writer;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

отличия IO от NIO

A

IO
потокоориентированный
синхронный

NIO
Буфер-ориентированный
асинхронный

IO у тебя данные в потоке мочи
NIO у тебя данные попадают в буфер который ты уже читаешь. ТАк же ты используешь буфер при записи и там указатель сдвигать надо bufera.flip() и смотри не перезапиши данные которые ещё не прочитал и короче боль в жопе

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Что вы знаете о классах-надстройках

A

Классы-надстройки наделяют существующий поток дополнительными свойствами. Примеры классов:BufferedOutputStream,BufferedInputStream,BufferedWriter, BufferedReader— буферизируют поток и повышают производительность.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Что вы знаете о RandomAccessFile

A

Он наследует напрямую от Object и не наследует от базовых классов ввода вывода.

Предназначен для произвольного доступа к содержимому файла.

Поэтому при использование RandomAccesFile надо знать его структуру.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Что общего и чем отличаются следующие потоки InputStream, OutputStream, Reader, Writer

A

Они все абстрактные.

Reader и Writer работают с символами.В случае ошибок передают исключениеIOException.

InputStream работает с байтовым вводом. Его классы получают данные из различных источников:
— массив байтов
— строка (String)
— файл
— канал (pipe): данные помещаются с одного конца и извлекаются с другого
— последовательность различных потоков, которые можно объединить в одном потоке
— другие источники (например, подключение к интернету)

OutputStream определяет потоковый байтовый вывод. Его классы могут направлять данные
- в массив байтов
- файл
- канал

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

RandomAccessFile режимы доступа

A

«r» - режим чтения
«rw» - чтение/запись
«rws» - чтение/запись и моментальное сохранение каждого изменения данных.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Scanner

A
Scanner x = new Scanner(system.in);
x.useDelimiter(',')
x.nextInt() или nextLint или анологичные 
x.skip(x.delimiter())

Если читаешь например из файл можно использовать такой конструктор:
scanner = new Scanner(new Filereader("File.txt"))
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

serializable

A

Если хочешь превратить объект класса в набор байтов чтобы отправить куда-то или записать в файл с помощью ObjectOutputStream то класс этого объекта должен implements serializable
Если есть поле которое не надо сохранять то пишешь ключевое слово transient

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Какой класс предназначен для работы с элементами файловой системы (ЭФС)

A

классFile

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Какой класс предназначен для работы с элементами файловой системы (ЭФС)

A

классFile

How well did you know this?
1
Not at all
2
3
4
5
Perfectly