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

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





таннього потоку. Якщо при зчитуванні виявляється, що більше вхідних потоків немає, SequenceInputStream повертає -1. Виклик методу close () у SequenceInputStream закриває все що містяться в ньому вхідні потоки. p align="justify"> Приклад:


FileInputStream inFile1 = null; inFile2 = null; sequenceStream = null; outFile = null; {= new FileInputStream ("file1.txt"); = new FileInputStream ("file2.txt"); = new SequenceInputStream (inFile1, inFile2); = new FileOutputStream ("file3.txt"); readedByte = sequenceStream.read (); (readedByte! = -1) {. write (readedByte); = sequenceStream.read ();

}

} catch (IOException e) {. out.println ("IOException:" + e.toString ());

} finally {{sequenceStream.close ();} catch (IOException e) {}; {outFile.close ();} catch (IOException e) {};

}

В результаті виконання цього прикладу в файл file3.txt буде записано вміст файлів file1.txt і file2.txt - спочатку повністю file1.txt, потім file2.txt. Закриття потоків здійснюється в блоці finally. Оскільки при виклику методу close () може виникнути IOException, необхідний try-catch блок. Причому, кожен виклик методу close () взято в окремий try-catch блок - для того, щоб виникло виключення при закритті одного потоку не завадило закриття іншого. При цьому немає необхідності закривати потоки inFile1 і inFile2 - вони будуть автоматично закриті при використанні в sequenceStream - або коли в них закінчаться дані, або при виклику у sequenceStream методу close (). p align="justify"> Об'єкт SequenceInputStream можна було створити і іншим способом: спочатку отримати об'єкт Enumeration, що містить всі потоки, і передати його в конструктор SequenceInputStream:


Vector vector = new Vector ();. add (new StringBufferInputStream ("Begin file1 n"));. add (new FileInputStream ("file1.txt"));. add ( new StringBufferInputStream (" nEnd of file1, begin file2 n"));. add (new FileInputStream ("file2.txt"));. add (new StringBufferInputStream (" nEnd of file2")); en = vector.elements (); = new SequenceInputStream (en);


Якщо замінити в попередньому прикладі ініціалізацію sequenceStream на наведену тут, то у файл file3.txt, крім вмісту файлів file1.txt і file2.txt, будуть записані ще три рядки - одна на початку файлу, одна між вмістом файлів file1.txt і file2.txt і ще одна в кінці file3.txt.

У підсумку зазначимо, що Java має широкий набір інструментів для забезпечення введення-виведення даних в цілому і запису і читання файлів зокрема.

СПИСОК ЛІТЕРАТУРИ


1. Арнольд К., Гослінг Дж. В«Мова програмування JavaВ»

2. Хорстманн К.С., Корнелл Г. В«Java 2. Том 1. Основи В», 7-е вид.


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





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

  • Реферат на тему: Застосування графічного методу і симплекс-методу для розв'язання задач ...
  • Реферат на тему: Java - мова програмування
  • Реферат на тему: Основи мови програмування Java
  • Реферат на тему: Блок цифрової обробки рівнеміра на основі імпульсного методу вимірювання ві ...
  • Реферат на тему: Теоретичні основи методу сіток. Побудова конечно-різницевої схеми. Похибк ...