2016-03-22 5 views
3

Скажем, когда я пишу,Что на самом деле происходит, когда мы открываем соединение с файлом при создании объекта потока?

InputStream inStream = new FileInputStream("LOCATION"); 

Так что же происходит с new FileInputStream("LOCATION") части?

Я прочитал материалы в Интернете, в которых говорится, что он открывает соединение с этим местом. Таким образом, по «открытие соединения» следует предположить, что он выводит целые данные от "LOCATION" в inStream?

И если он не передает всю информацию, то что он делает?

+0

io stream - это абстракция, позволяющая последовательное чтение/запись ресурса –

ответ

3

Нет, определенно нет. Он открывает канал, который позволяет вам читать данные. Но пока вы не делаете фактическое чтение, оно не приносит никаких данных. Обратите внимание, что после открытия Stream вы должны закрыть его. в противном случае может произойти утечка памяти. Вот почему вы обычно окружаете свои открытые потоки в блоке try-catch

+0

Спасибо! Это помогло. –

2

Он просто создает соединение с файлом в этом местоположении. Он не передает данные в это время.

Для получения любых данных необходимо вызвать метод чтения, который получает данные в пакетах.