Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Java / Лабы / lab9

.pdf
Скачиваний:
57
Добавлен:
15.03.2015
Размер:
397.89 Кб
Скачать

Лабораторная работа 9

ОБРАБОТКА БИНАРНЫХ ФАЙЛОВ

Цель лабораторной работы

Освоить работу с бинарными файлами с использованием средств Java.

Задание на лабораторную работу

Написать программу, которая генерирует одномерный массив случайных вещественных чисел и записывает его в файл, заданный пользователем. Длина массива задается пользователем.

Написать программу, которая читает заданный пользователем файл, записанный первой программой, и выводит содержащийся в нем массив на консоль.

Указания к выполнению лабораторной работы

Для работы с бинарными файлами данных в Java предназначены классы DataInputStream и DataOutputStream. Первый класс предназначен для чтения файлов данных, второй – для записи. Работа с этими классами осуществляется аналогично работе с классами FileReader и FileWriter. Отличие заключается в том, что классы DataInputStream и DataOutputStream содержат дополнительные методы для чтения и записи бинарных данных. Например, для того чтобы записать в бинарный файл вещественное число, нужно вызвать метод writeDouble класса DataOutputStream. Для того, чтобы прочитать из бинарного файла целое число типа int, нужно вызвать метод readInt класса DataInputStream. После вызова методов записи данных в файл, данные могут некоторое время находиться во внутреннем буфере класса DataOutputStream. Чтобы немедленно записать все накопленные данные в файл, предназначен метод flush.

Ниже представлен пример записи целого и вещественного числа в бинарный файл:

int i = 42; double d = 3.14;

DataOutputStream dos = null; try {

dos = new DataOutputStream(

new FileOutputStream("given_file")); dos.writeInt(i);

dos.writeDouble(d);

dos.flush();

}catch (IOException e) { System.out.println("IO exception: " +

e.getMessage());

}finally {

if (dos != null) {

try { dos.close();

} catch (Exception e) {}

}

}

Для генерации псевдослучайного вещественного числа можно использовать статический метод random класса Math:

double d = Math.random();

Результат выполнения лабораторной работы

В результате выполнения лабораторной работы должны быть написаны следующие программы:

Программа для записи сгенерированного массива в файл.

Программа для чтения записанного массива из файла.

Соседние файлы в папке Лабы