Lab6 Flashcards
InputStream vs OutputStream
InputStream та OutputStream потоки, які відповідають за послідовний ввід та вивід байтів. Є інтерфейсами. Приклад використання:
System.in - статичне поле типу InputStream в класі System;
System.out - статичне поле типу PrintStream (наслідується від OutputStream) в класі System.
Stream concept - what’s this?
Stream (потік) послідовність байтів будь-якої довжини. Потік схожий на трубу по якій тече вода, або катають апельсин, який можна назвати байтом. Значення які передаються потоком зберігаються на вінчестер/ssd. Класи які відповідають за ввід/вивід надаються пакетом java.io. Існують тектсові та бінарні потоки.
Reader: text-input
Writer: text-output
InputStream: byte-input
OutputStream: byte-output
How to write the line to File?
public void static main(String…string) {
try (FileOutputStream fos = new FileOutputStream(file); OutputStreamWriter osw = new OutputStreamWriter(fos); BufferedWriter bufWriter = new BufferedWriter(osw)) {
bufWriter.newLine();
} catch (IOException e) {
e.printStackTrace();
}
}
BufferedReader vs BufferedWriter. Why they’re using?
BufferedWriter записує текст в потік буфером, чим знижує кількість звернень до жосткого диску/ssd. BufferedReader зчитує текст з потоку в буфер. Використання буфера сприяє більш ефективному читанню даних з потоку.
Why do we beed BufferedOutputStream/BufferedInputStream?
Використовується для оптимізації запису/читання файлів за рахунок використання буфера
Try-with-resources construction
Оператор try-with-resources оголошує один або більше ресурсів, ресурс - об‘єкт, який повинен бути закритий після завершення програми. У цій конструкції гарантується закриття кожного ресурсу в кінці оператора. Будь-який об‘єкт, який реалізує java.lang.AutoClosable, який включає в себе всі об‘єкти, які реалізують java.io.Closable, може використовуватись як ресурс.