33 Java. Потоки ввода-вывода. Работа с файлами. Белорусский государственный экономический университет кафедра экономической информатики
Скачать 1.6 Mb.
|
Чтение и запись файлов. FileInputStream иFileOutputStream Запись файлов и класс FileOutputStreamКласс FileOutputStream предназначен для записи байтов в файл. Он является производным от класса OutputStream, поэтому наследует всю его функциональность. С помощью конструктора класса FileOutputStream задается файл, в который производится запись. Класс поддерживает несколько конструкторов: FileOutputStream(String filePath) FileOutputStream(File fileObj) FileOutputStream(String filePath, boolean append) FileOutputStream(File fileObj, boolean append) Файл задается либо через строковый путь, либо через объект File. Второй параметр - append задает способ записи: eсли он равен true, то данные дозаписываются в конец файла, а при false - файл полностью перезаписывается Пример. Замечания: При выполнении программы в среде OnlineGDB даже еслиразработчикнесоздалпредварительнофайлnotes.txt самостоятельно, то он будет создан автоматически в новойзакладке(содержимоефайла можнопросомтреть): ПривыполнениипрограммывсредеJDoodle файлтожебудетсоздан,но явнопросмотретьегосодержимоенельзя. ИсключенияIOExceptionможетвозникнутьесливзаписываемый файл не сможет поместиться записываемаяинформация,либофайлне будет создан. Для создания объекта FileOutputStream используется конструктор, принимающий в качестве параметра путь к файлу для записи. Если такого файла нет, то он автоматически создается при записи. Так как здесь записываем строку, то ее надо сначала перевести в массив байтов. И с помощью метода write строка записывается в файл. Для автоматического закрытия файла и освобождения ресурса объект FileOutputStream создается с помощью конструкции try…catch. При этом необязательно записывать весь массив байтов. Используя перегрузку метода write(), можно записать и одиночный байт: fos.write(buffer[0]); // запись первого байта 'H'. Замечание. Вданномслучаевкачестверезультатавфайлбудетзаписансимвол |