Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Контрольные работы » Програмування на Java

Реферат Програмування на Java





s буде складатися з двох елементів: 10 і 11. p align="justify"> Використовувати класи ByteArrayInputStream і ByteArrayOutputStream може бути дуже зручно, коли потрібно перевірити, що саме записується у вихідний потік. Наприклад, при налагодженні і тестуванні складних процесів запису і читання з потоків. Ці класи хороші тим, що дозволяють відразу переглянути результат і не потрібно створювати ні файл, ні мережеве з'єднання, ні що-небудь ще. p align="justify"> Класи FileInputStream і FileOutputStream

Клас FileInputStream використовується для читання даних з файлу. Конструктор такого класу як параметр приймає назву файлу, з якого буде проводитися зчитування. При вказівці рядка імені файлу потрібно враховувати, що вона буде прямо передана операційній системі, тому формат імені файлу і шляху до нього може розрізнятися на різних платформах. Якщо при виклику цього конструктора передати рядок, що вказує на неіснуючий файл або каталог, то буде кинуто java.io.FileNotFoundException. Якщо ж об'єкт успішно створений, то при виклику його методів read () повертаються значення будуть зчитуватися із зазначеного файлу. p align="justify"> Для запису байт в файл використовується клас FileOutputStream. При створенні об'єктів цього класу, тобто при викликах його конструкторів, крім імені файлу, також можна вказати, чи будуть дані дописуватися в кінець файлу, або файл буде перезаписаний. Якщо вказаний файл не існує, то відразу після створення FileOutputStream він буде створений. При викликах методів write () передані значення будуть записуватися в цей файл. По закінченні роботи необхідно викликати метод close (), щоб повідомити системі, що робота по запису файлу закінчена. Приклад:

[] bytesToWrite = {1, 2, 3}; [] bytesReaded = new byte [10]; fileName = "d: test.txt"; {

// Створити вихідний потокoutFile = new FileOutputStream (fileName);

System.out.println ("Файл відкритий для запису");

// Записати массів.write (bytesToWrite);. out.println ("Записано:В« + bytesToWrite.length + "байт");

// По закінченні використання повинен бути закрит.close ();. out.println ("Вихідний потік закрито");

// Створити вхідний потокinFile = new FileInputStream (fileName);

System.out.println ("Файл відкритий для читання");

// Дізнатися, скільки байт готове до счітиваніюbytesAvailable = inFile.available (),. out.println ("Готово до зчитування:" + bytesAvailable + "байт"),

// Рахувати в массівcount = inFile.read (bytesReaded, 0, bytesAvailable);. out.println ("вважає:" + count + "байт"); (int i = 0 ; i

System.out.println ("Вхідний потік закрито");

} catch (FileNotFoundException e) {. out.println ("Не можу записати у файл:" + fileName);

} catch (IOException e) {. out.println ("Помилка введення/виводу:" + e.toString ());

}

Результатом роботи програми буде:

Файл відкритий для запису

Записано: 3 байт

Вихідний потік закрито

Файл відкритий для читання

Готово до зчитування: 3 байт

вважали: 3 байт

, 2,3,

Вхідний потік закрито


При роботі з FileInputStream метод available () практично напевно поверне довжину файлу, тобто число байт, скільки взагалі з нього можна рахувати. Але не варто закладатися на це при написанні програм, які повинні стійко працювати на різних платформах, - метод available () повертає число байт, яке може бути на даний момент лічено без блокування. Той факт, що, швидше за все, це число і буде довжиною файлу, є всього лише окремим випадком роботи на деяких платформах. p align="justify"> У наведеному прикладі для наочності закриття потоків вироблялося відразу ж після закінчення їх використання в основному блоці. Однак краще закривати потоки в finally блоці. br/>

} finally {{inFile.close ();} catch (IOException e) {};

}


Такий підхід гарантує, що потік буде закрито, і будуть звільнені всі пов'язані з ним системні ресурси. p align="justify"> Класи PipedInputStream і PipedOutputStream

Класи Pi pedInputStream і PipedOutputStream характеризуються тим, що їх об'єкти завжди використовуються в парі - до одного об'єкту PipedInputStream прив'язується (підключається) один об'єкт PipedOutputStream. Вони можуть бути корисні, якщо в програмі необхідно організувати обмін даними між модулями (наприклад, між потоками виконання). p align="justify"> Ці ...


Назад | сторінка 6 з 8 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Клас двійкового файлу, похідний від fstream
  • Реферат на тему: Робота зі структурою двійкового файлу
  • Реферат на тему: Програма, що реалізує роботу з текстом і збереженням даних у файл
  • Реферат на тему: Обробка набору даних, представленого у вигляді файлу
  • Реферат на тему: Створення текстового файлу. Довідково-пошукова система