русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Тема 14 Можливості Java для обміну і передачі інформації. Робота з файловою системою. Пакет java.io


Дата додавання: 2014-05-29; переглядів: 1017.


План

1 Система введення/виведення. Потоки даних (stream)

2 Робота з файловою системою. Клас File

 

1 Система введення/виведення. Потоки даних (stream)

Звичайно, частина обчислювальної платформи, що відповідає за обмін даними, так і називається - система введення/виведення. В Java вона представлена пакетом java.io (input/output). Реалізація системи ускладнюється не тільки широким спектром джерел і одержувачів даних, але ще й різними форматами передачі інформації. Нею можна обмінюватися у двійковому поданні, символьному або текстовому, із застосуванням деякого кодування (тільки для російської мови їх налічується більше 4), або передавати числа в різних поданнях. Доступ до даних може знадобитися як послідовний (наприклад, зчитування HTML-сторінки), так і довільний (складна робота з декількома частинами одного файлу). Найчастіше для підвищення продуктивності застосовується буферизація.

В Java для опису роботи з введенням/виведенням використовується спеціальне поняття потік даних (stream). Потік даних пов'язаний з деяким джерелом, або приймачем, даних, здатним одержувати або надавати інформацію. Відповідно, потоки діляться на вхідні - читаючі дані й вихідні - передавальні (записуючі) дані.

В Java потоки природно представляються об'єктами. Їх класи, саме й становлять основну частину пакета java.io. Вони досить різноманітні й відповідають за різну функціональність. Всі класи розділені на дві частини - одні здійснюють введення даних, інші - виведення.

Існуючі стандартні класи допомагають вирішити більшість типових задач. Мінімальною «порцією» інформації є, як відомо, біт, що приймає значення 0 або 1. Традиційно використовується більша одиниця виміру – байт, що поєднує 8 біт. Таким чином, значення, представлене одним байтом, перебуває в діапазоні від 0 до 255, або, якщо використовувати знак, – від -128 до +127. Примітивний тип byte в Java у точності відповідає останньому - знаковому діапазону.

Базові, найбільш універсальні, класи дозволяють зчитувати й записувати інформацію саме у вигляді набору байт. Щоб їх було зручно застосовувати в різних задачах, java.io містить також класи, що перетворять будь-які дані в набір байт.

Наприклад, якщо потрібно зберегти результати обчислень - набір значень типу double - у файл, то їх можна спочатку перетворити в набір байт, а потім ці байти записати у файл. Аналогічні дії відбуваються й у ситуації, коли потрібно зберегти об'єкт (тобто його стан) - перетворення в набір байт і наступний їхній запис у файл. Зрозуміло, що при відновленні даних в обох розглянутих випадках виконуються зворотні дії - спочатку зчитується послідовність байт, а потім вона перетворюється в потрібний формат.

На рис. 14.1 представлено ієрархії класів введення/виведення. Як і говорилося, всі типи поділені на дві групи. вхідні потоки, що представляють, класи успадковуються від InputStream, а вихідні - від OutputStream.


Рисунок 14.1 - Ієрархія класів введення/виведення


<== попередня лекція | наступна лекція ==>
Підключення зовнішніх бібліотек DLL. «Рідні» (native) методи | Робота з файловою системою. Клас File


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн