Программирование на JAVA
Меню :
Стартовая
Основы программирования
Программирование на JAVA
Программирование на C++
Программирование на Pascal
Задачи по программированию
Например, при отладке и тестировании сложных процессов записи и чтения из потоков. Эти классы хороши тем, что позволяют сразу просмотреть результат и не нужно создавать ни файл, ни сетевое соединение, ни что-либо еще.
Классы FilelnputStream и FileOutputStream
Класс FilelnputStream используется для чтения данных из файла. Конструктор такого класса в качестве параметра принимает название файла, из которого будет производиться считывание. При указании строки имени файла нужно учитывать, что она будет напрямую передана операционной системе, поэтому формат имени файла и пути к нему может различаться на разных платформах. Если при вызове этого конструктора передать строку, указывающую на несуществующий файл или каталог, то будет брошено java.io.FileNotFoundException. Если же объект успешно создан, то при вызове его методов read() возвращаемые значения будут считываться из указанного файла.
Для записи байт в файл используется класс FileOutputStream. При создании объектов этого класса, то есть при вызовах его конструкторов, кроме имени файла, также можно указать, будут ли данные дописываться в конец файла, либо файл будет перезаписан. Если указанный файл не существует, то сразу после создания FileOutputStream он будет создан. При вызовах методов write() передаваемые значения будут записываться в этот файл. По окончании работы необходимо вызвать метод close(), чтобы сообщить системе, что работа по записи файла закончена. Пример: byte[] bytesToWrite = {1,2,3}; byte[] bytesReaded = new byte[10]; String fileName = "d: \\test.txt"; try{
// Создать выходной поток
FileOutputStream outFile = new FileOutputStream(fileName); System.out.println("Фaйл открыт для записи"); // Записать массив outFile. write(bytesToWrite);
System.out.println("3anncaHO:" + bytesToWrite.length + " байт"); // По окончании использования должен быть закрыт outFile. close();
System.out.println("BbixoflHOH поток закрыт"); // Создать входной поток
FilelnputStream inFile = new FilelnputStream(fileName); System.out.рппАп("Файл открыт для чтения"); // Узнать, сколько байт готово к считыванию int bytesAvailable = inFile.available();
System.out.pnntln(ToTOBo к считыванию: " + bytesAvailable +
" байт"); // Считать в массив