Потоки введення-виведення. Робота з файлами.

Содержание

Слайд 2

Потоки введення-виведення: основні поняття

Поняття потоку лежить в основі всього введення-виведення в Java
Потік

Потоки введення-виведення: основні поняття Поняття потоку лежить в основі всього введення-виведення в
введення-виведення - абстракція, яка описує передачу даних від джерела до приймача.
Більш точно: звідки можна читати - джерело, а куди можна записувати - приймач.

Слайд 3

Потоки введення-виведення: продовження

Фізично потоки можуть бути приєднані до будь-яких джерел та приймачів:

Потоки введення-виведення: продовження Фізично потоки можуть бути приєднані до будь-яких джерел та
консоль, файли, мережа та ін.
Для окремих типів джерел і приймачів існують методи, які дозволяють створити той чи інший потік.

Слайд 4

Основні пакети

java.io - базові можливості;
java.nio - новий інтерфейс введення-виведення з важливими удосконаленнями;

Основні пакети java.io - базові можливості; java.nio - новий інтерфейс введення-виведення з
вважається більш ефективним для роботи в мережі та клієнт-серверних застосувань.

Слайд 5

Загальна класифікація потоків

Потоків дуже багато.
Потоки: байтові (орієнтовані на читання/запис байтів) і символьні

Загальна класифікація потоків Потоків дуже багато. Потоки: байтові (орієнтовані на читання/запис байтів)
(читання/запис символів).
В 1.0 все введення-виведення було байтовим. Зараз у ряді випадків використання байтових потоків вважається deprecated.

Слайд 6

Базові потоки

На вершині ієрархії: байтові потоки InputStream та OutputStream; символьні потоки Reader

Базові потоки На вершині ієрархії: байтові потоки InputStream та OutputStream; символьні потоки
та Writer.
Стандартні потоки (байтові): System.in; System.out; System.err.

Слайд 7

Метод read()

Абстрактний метод, визначений в InputStream. Зчитує один байт.
В кінці потоку повертає

Метод read() Абстрактний метод, визначений в InputStream. Зчитує один байт. В кінці
-1.
Інші методи викликають цей метод.
Перевизначається в підкласах.
Аналогічний метод - в Reader: читає один символ.

Слайд 8

Проблема блокування потоку

Виникає, якщо нема чого зчитувати.
Метод available() повертає кількість байтів, які

Проблема блокування потоку Виникає, якщо нема чого зчитувати. Метод available() повертає кількість
можуть бути зчитані.

Слайд 9

Виведення

Метод write(byte b) з класу OutputStream дозволяє вивести байт у потік.
Аналогічний метод

Виведення Метод write(byte b) з класу OutputStream дозволяє вивести байт у потік.
класу Writer дозволяє вивести в потік символ.
Особливість: стандартний потік System.out є екземпляром класу PrintStream; для нього визначені узагальнені методи print та println.

Слайд 10

Клас BufferedReader

Важливий клас, який має корисні методи для читання.
Зокрема, ми часто будемо

Клас BufferedReader Важливий клас, який має корисні методи для читання. Зокрема, ми
використовувати readLine() - читання рядка.

Слайд 11

Базові файлові потоки

Байтові: FileInputStream; FileOutputStream.
Символьні: FileReader; FileWriter.
Корисна форма конструктора: відкриття файлу в

Базові файлові потоки Байтові: FileInputStream; FileOutputStream. Символьні: FileReader; FileWriter. Корисна форма конструктора:
режимі append:
FileWriter(filename, true);

Слайд 12

“Перехідні” потоки

InputStreamReader - бере дані з байтового потоки і переводить в символи

“Перехідні” потоки InputStreamReader - бере дані з байтового потоки і переводить в
Unicode;
OutputStreamWriter - записує символи в байтовий потік.
Типовий приклад:
BufferedReader br=new BufferedReader(new InputStreamReader (System.in));

Слайд 13

Інші важливі можливості

запис до рядків і читання з рядків;
потоки, пов’язані з zip-файлами;
канали:

Інші важливі можливості запис до рядків і читання з рядків; потоки, пов’язані
використання потоків для обміну даними між процесами;
серіалізація;

Имя файла: Потоки-введення-виведення.-Робота-з-файлами..pptx
Количество просмотров: 106
Количество скачиваний: 0